Skip to content
Snippets Groups Projects
Commit 6f5dc897 authored by Vassil Vassilev's avatar Vassil Vassilev
Browse files

[cxxmodules] Fix the infinite loop in rootcling when building GenVector.

Adding Math/Math.h to the MathCore module makes the generation of GenVector
dictionary hand due to a bug in rootcling/clang. The redeclaration chain of
'abs' shadow declaration (from stl math.h) is broken.

In general there are a few remaining issues with stl's cmath, math.h and
libc math.h header files. We cannot yet reliably put them in the modulemaps.
This causes the current issue: we end up with content duplication which
triggers a bugs in clang.
parent 712239d7
Branches
Tags
No related merge requests found
......@@ -19,7 +19,15 @@ set(MATHCORE_HEADERS TRandom.h
Math/MinimizerVariableTransformation.h Math/MultiDimParamFunctionAdapter.h Math/OneDimFunctionAdapter.h
Math/PdfFunc.h Math/PdfFuncMathCore.h Math/ProbFunc.h Math/ProbFuncMathCore.h Math/QuantFunc.h
Math/QuantFuncMathCore.h Math/WrappedParamFunction.h
)
)
if(runtime_cxxmodules)
# Adding Math/Math.h to the MathCore module makes the generation of GenVector
# dictionary hand due to a bug in rootcling/clang. The redeclaration chain of
# 'abs' shadow declaration (from stl math.h) is broken.
# FIXME: Revise after a llvm upgrade or reproduce it outside rootcling.
string(REPLACE "Math/Math.h" "" MATHCORE_HEADERS ${MATHCORE_HEADERS})
endif()
if(veccore)
set(MATHCORE_LIBRARIES ${VecCore_LIBRARIES})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment