https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100904
--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> --- FWIW the following hackish workaround seems to fix it, though am still investigating why this is happening. diff --git a/libcpp/directives.c b/libcpp/directives.c index f4aa17d1156..b5bdd443a5a 100644 --- a/libcpp/directives.c +++ b/libcpp/directives.c @@ -850,6 +850,9 @@ do_include_common (cpp_reader *pfile, enum include_type type) pfile->directive->name, fname, angle_brackets, buf); + if (CPP_OPTION (pfile, traditional)) + location = pfile->directive_line; + _cpp_stack_include (pfile, fname, angle_brackets, type, location); }