How can I get clang to stop caring about gch directories for precompiled headers that were created by GCC?
Currently my main build uses GCC and it generates .gch directories: $ ls -1d foo_pch* foo_pch.h foo_pch.h.gch/ When I compile my code using GCC, it works fine: $ g++ ... -Winvalid-pch --include=foo_pch.h ... But then if I try to use tools based on clang with exactly the same arguments, it throws an error (with or without -Winvalid-pch): $ clang++ ... --include=foo_pch.h ... error: no suitable precompiled header file found in directory './foo_pch.h.gch' 1 error generated. Note I'm really not using clang++, I'm using a tool linked with libLLVM which parses the code, but I get the same behavior there. Using strace I can see clang first look for .pch then .pth (neither of which exist, which is fine), and finally .gch. Apparently clang cannot parse the GCC-generated precompiled header file. I don't care if clang can't read those files, I just want it to include the .h file. How can I tell clang to just ignore the GCC-specific precompiled headers, or equivalently ignore precompiled headers altogether? I can't delete the gch directories because I need them for my build. I've read through the clang docs and can't find any likely-looking options. It's really frustrating when clang tries to appropriate GCC-specific options and configurations when it's not actually compatible with them. It makes modern multi-compiler development so unnecessarily difficult. FWIW, I'm working with Clang 7.0.1 on GNU/Linux Ubuntu 18.04. _______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users