backport: re PR c/59351 (ICE on empty compound literal with -pedantic)
Backport from mainline 2013-12-03 Marek Polacek <polacek@redhat.com> PR c/59351 * c-decl.c (build_compound_literal): Allow compound literals with empty initial value. From-SVN: r205632
This commit is contained in:
parent
d4ce14f16b
commit
0ada7fd51c
|
@ -1,3 +1,12 @@
|
|||
2013-12-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
2013-12-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/59351
|
||||
* c-decl.c (build_compound_literal): Allow compound literals with
|
||||
empty initial value.
|
||||
|
||||
2013-12-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
|
||||
|
|
|
@ -4618,7 +4618,9 @@ build_compound_literal (location_t loc, tree type, tree init, bool non_const)
|
|||
{
|
||||
int failure = complete_array_type (&TREE_TYPE (decl),
|
||||
DECL_INITIAL (decl), true);
|
||||
gcc_assert (!failure);
|
||||
/* If complete_array_type returns 3, it means that the
|
||||
initial value of the compound literal is empty. Allow it. */
|
||||
gcc_assert (failure == 0 || failure == 3);
|
||||
|
||||
type = TREE_TYPE (decl);
|
||||
TREE_TYPE (DECL_INITIAL (decl)) = type;
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2013-12-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
2013-12-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/59351
|
||||
* gcc.dg/pr59351.c: New test.
|
||||
|
||||
2013-11-28 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
Backport from mainline
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-std=c99 -Wpedantic" } */
|
||||
|
||||
unsigned int
|
||||
foo (void)
|
||||
{
|
||||
return sizeof ((int[]) {}); /* { dg-warning "ISO C forbids empty initializer braces" } */
|
||||
}
|
Loading…
Reference in New Issue