https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108108
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- From: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/cpp/Pragmas.html#Pragmas "that file will never be read again, no matter what." https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Preprocessor-Options.html#index-M "The preprocessor outputs one make rule containing the object file name for that source file, a colon, and the names of all the included files, including those coming from -include or -imacros command-line options." Since it was not read again, the file is not considered included ...