https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100462
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The error is clear, the header you want to include doesn't exist, which is the case. Usually people use PCH as an optimization, have the header normally in search path and have there also the precompiled version of that header. If it can be used, it is, otherwise it is parsed normally. You chose to not have the header in search path, so when it is not successufully used as PCH, it isn't found. But to mention that in the diagnostic the compiler would need to for all missing headers search again for PCH headers. That doesn't look like a good idea to me.