[cfe-dev] PCH generated in a different environment crashes application

Geoff Levner via cfe-dev cfe-dev at lists.llvm.org
Tue Oct 9 08:14:01 PDT 2018

We have an application that uses Clang and an Orc-based JIT to compile
and run C++ code on the fly. To speed up compilation, the application
generates a .h file that includes all the required header files, then
precompiles it to a PCH file. So if the code changes afterward, but
the includes don't, the PCH file can be reused.

That works fine when I work on my own. But if another user on another
machine generates the PCH file, the application crashes, both for me
and for the other user, as soon as the compiled function is invoked. I
haven't been able to determine yet what difference in the other user's
environment might cause the problem.

Does anybody on this list have any idea why a PCH file generated by
another user with exactly the same command line might cause a crash?

I don't know if it's relevant, but the application is compiled with
clang/llvm 7.0.0. It uses a GeneratePCHAction to generate the PCH
file, and it uses a VerifyPCHAction if the PCH file already exists.
The VerifyPCHAction succeeds, in this case, but the compiled function
still crashes.

More information about the cfe-dev mailing list