re PR sanitizer/80659 (-fsanitize=address evokes ICE in in gimplify_switch_expr)
PR sanitizer/80659 * c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and DECL_IGNORED_P even for non-static compound literals. * gcc.dg/asan/pr80659.c: New test. From-SVN: r248491
This commit is contained in:
parent
9e2248e6d3
commit
015cf5d1d1
|
@ -1,3 +1,12 @@
|
|||
2017-05-26 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2017-05-17 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR sanitizer/80659
|
||||
* c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
|
||||
DECL_IGNORED_P even for non-static compound literals.
|
||||
|
||||
2017-05-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
|
|
|
@ -5261,6 +5261,8 @@ build_compound_literal (location_t loc, tree type, tree init, bool non_const)
|
|||
DECL_CONTEXT (decl) = current_function_decl;
|
||||
TREE_USED (decl) = 1;
|
||||
DECL_READ_P (decl) = 1;
|
||||
DECL_ARTIFICIAL (decl) = 1;
|
||||
DECL_IGNORED_P (decl) = 1;
|
||||
TREE_TYPE (decl) = type;
|
||||
TREE_READONLY (decl) = (TYPE_READONLY (type)
|
||||
|| (TREE_CODE (type) == ARRAY_TYPE
|
||||
|
@ -5297,8 +5299,6 @@ build_compound_literal (location_t loc, tree type, tree init, bool non_const)
|
|||
set_compound_literal_name (decl);
|
||||
DECL_DEFER_OUTPUT (decl) = 1;
|
||||
DECL_COMDAT (decl) = 1;
|
||||
DECL_ARTIFICIAL (decl) = 1;
|
||||
DECL_IGNORED_P (decl) = 1;
|
||||
pushdecl (decl);
|
||||
rest_of_decl_compilation (decl, 1, 0);
|
||||
}
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2017-05-26 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2017-05-17 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR sanitizer/80659
|
||||
* gcc.dg/asan/pr80659.c: New test.
|
||||
|
||||
2017-05-26 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
/* PR sanitizer/80659 */
|
||||
/* { dg-do compile } */
|
||||
|
||||
void
|
||||
foo (int a)
|
||||
{
|
||||
switch (a)
|
||||
{
|
||||
case 0:
|
||||
(int[3]) { };
|
||||
int h;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue