The C front-end says that struct {int i;} is compatiable with struct {int i,j} which is wrong. The following testcase should be rejected but it is not: ---- file1.c ---- struct op { int i; }; void a (struct op* o); ---- end ----- ---- file2.c ----- struct listop { int i, j; }; void a(struct listop *o) {} ---- end ----
This is not a regression, 3.4.0 accepts it also. This causes us to remove some casts while compiling perlbmk and causes a type mismatch. This is a very reduced testcase from the orginal one. I am going to mark this as blocking PR 22368 as this causes to ICE with that patch. -- Summary: struct {int i;} is not compatiable with struct {int i,j} Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 22368 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23145