http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61006
Bug ID: 61006 Summary: libcpp/lex.c: must use 'enum' tag to refer to type "raw_str_phase" Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: spamcop at tgos dot net gcc-4.9.0/libcpp/lex.c:1394 The original line is: raw_str_phase phase = RAW_STR_PREFIX; This is incorrect. It must be: enum raw_str_phase phase = RAW_STR_PREFIX; Because raw_str_phase is an enum type, it isn't typedef'ed and lex.c is a C file (not a C++ file). As a result, when building with clang, it correctly complains: "must use 'enum' tag to refer to type 'raw_str_phase'"