Skip to content

RootUtils: Work around clang 9 bug

clang 9 has a bug in compiling std::string::compare in some cases. This causes it to crash while compiling the TClassEdit.h header from ROOT.

We don't use that header from very many places in Athena. So, as a workaround, copy the header here. If we're not using clang 9, then this just forwards to the ROOT header; otherwise, we read the copy in RootUtils in which the compare() has been replaced with substr().

Change the #includes of TClassEdit.h to get it from RootUtils. (Need to use a different name as well to avoid having to use the non-standard include_next.)

Merge request reports