The following testcase triggers an internal error in the preprocessor since GCC 4.2.0:
================================ #define FOO(expr) (#expr) FOO( #pragma GCC diagnostic ) ================================ bug.c:5:1: internal error: unspellable token PRAGMA bug.c:5:1: internal error: unspellable token PRAGMA_EOL bug.c:3: error: expected identifier or '(' before string constant This is similar to PR34602, but not yet fixed on mainline. -- Summary: [4.2/4.3 regression] Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34692