https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93753

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot 
gnu.org
            Summary|[8/9/10 Regression] ICe in  |[8/9/10 Regression] ICE on
                   |output_constructor_regular_ |a flexible array followed
                   |field, at varasm.c:5255     |by a member in an anonymous
                   |since                       |struct with an initializer
                   |r6-5791-g7e9a3ad30076ad8a   |

--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
GCC rejects the code when the struct has a name:

$ cat t.C && gcc -S -Wall -Wextra t.C
struct S {
    int mem [ ] ;
    int b ;
} s = {1};
t.C:2:9: error: flexible array member ‘S::mem’ not at end of ‘struct S’
    2 |     int mem [ ] ;
      |         ^~~
t.C:4:9: warning: missing initializer for member ‘S::b’
[-Wmissing-field-initializers]
    4 | } s = {1};
      |         ^

Reply via email to