https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100462
--- Comment #8 from Marco Trevisan <mail at 3v1n0 dot net> --- It's also relevant to say that just using main.c: #include "gjs_pch.h" int main(int argc, char**argv) { std::string s = "Hi"; return 0; } fails with: ❯ g++ -I _build main.c -o main -include string /tmp/main.c:1:10: fatal error: gjs_pch.h: No such file or directory 1 | #include "gjs_pch.h" | ^~~~~~~~~~~ While works when not passing any `-include` to the command line