http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
--- Comment #16 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Allan McRae from comment #15) > > I tried with -include foo.h and a breakpoint in push_command_line_include... > I just stepped through from that breakpoint and saw cpp_push_default_include > being called for both stdc-predef.h and foo.h. That also gives the correct > output. > > # gcc-4.9 -include foo.h foo.c > foo.c: In function ‘main’: > foo.c:1:21: error: expected expression before ‘}’ token > int main() { return } What is the trace of LC_ messages produced here? It seems the -imacros code is missing something. Actually, if you could attach the corresponding gdb session like you did earlier, it would be helpful to compare both.