$ cat t.c enum e ve; void f0 (int i) { ve + i; } $ gcc -c t.c enum.c: In function f0: enum.c:6: internal compiler error: in create_tmp_var, at gimplify.c:368 Please submit a full bug report, with preprocessed source if appropriate.
Works in c++: /tmp/t.c:1: error: use of enum e without previous declaration /tmp/t.c:1: error: invalid type in declaration before ; token Also fails in 4.3.0 20070713. -- Summary: incomplete enum's assert Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mrs at apple dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34819