Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[llvm] Build llvm with rtti enabled.
Recent llvm versions use llvm::Error as a facility for error handling. It includes an ErrorInfoBase class which has virtual methods (with a pinned vtable in the object file). This makes it harder to include headers that use transitively include llvm/Support/Error.h crossing rtti/no-rtti worlds (that is llvm is compiled with -fno-rtti and TCling and friends with -frtti). Newer llvm versions have a lot of usage of llvm::Error in its header files and it is practically impossible to solve this problem by avoiding the headers that use ErrorInfoBase. There are two other alternatives. First we can outline the functions in Error.h which use ErrorInfoBase but then we will hit other things like RTTIRoot which also needs special treatment. Secondly, we can enable llvm's RTTI builds for ROOT and this is what this patch does.
- Loading branch information