An initializer for a C struct with a variable sized last component is accepted, but the data generated excludes the variable sized component.
struct s { int16_t a,b,c,d; int16_t y[]; } data = {0,0,0,0, {2,3,4,5}}; results in only the leading four int16_t values in the data segment. Either the initializer data should be emitted, or the initializer should be rejected with an error, or the struct declaration should be rejected with an error, and presumably the first option would be preferable. -- Summary: Truncated C struct data initializer with variable size trailing array Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: howard dot thomson at dial dot pipex dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36987