Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: oneAPI 2025 Fixes, main branch (2024.11.11.) (#3846)
After @CarloVarni's update in acts-project/traccc#765, I became unable to build [traccc](https://github.com/acts-project/traccc) with [oneAPI 2025.0.0](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-toolkit-release-notes.html). 😦 The issue being solved here is of the type: ``` [159/737] Building CXX object Core/CMakeFiles/ActsCore.dir/src/TrackFitting/GlobalChiSquareFitter.cpp.o FAILED: Core/CMakeFiles/ActsCore.dir/src/TrackFitting/GlobalChiSquareFitter.cpp.o /software/intel/oneapi-2025.0.0/compiler/2025.0/bin/compiler/clang++ --gcc-toolchain=/software/gcc/13.3.0/x86_64-el9 -DActsCore_EXPORTS -I/home/krasznaa/ATLAS/projects/acts/acts/Core/include -I/home/krasznaa/ATLAS/projects/acts/build-oneapi/Core -isystem /home/krasznaa/ATLAS/projects/acts/acts/cmake/assert_include -isystem /software/boost/1.83.0/x86_64-el9-gcc11-opt/include -isystem /home/krasznaa/ATLAS/projects/traccc/build-vanilla/_deps/eigen3-src -Wall -Wextra -Wpedantic -Wshadow -Wzero-as-null-pointer-constant -Wold-style-cast -O2 -g -DNDEBUG -std=gnu++20 -fPIC -MD -MT Core/CMakeFiles/ActsCore.dir/src/TrackFitting/GlobalChiSquareFitter.cpp.o -MF Core/CMakeFiles/ActsCore.dir/src/TrackFitting/GlobalChiSquareFitter.cpp.o.d -o Core/CMakeFiles/ActsCore.dir/src/TrackFitting/GlobalChiSquareFitter.cpp.o -c /home/krasznaa/ATLAS/projects/acts/acts/Core/src/TrackFitting/GlobalChiSquareFitter.cpp In file included from /home/krasznaa/ATLAS/projects/acts/acts/Core/src/TrackFitting/GlobalChiSquareFitter.cpp:9: /home/krasznaa/ATLAS/projects/acts/acts/Core/include/Acts/TrackFitting/GlobalChiSquareFitter.hpp:1265:54: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1265 | auto propagationResult = m_propagator.template propagate(propagatorState); | ^ /home/krasznaa/ATLAS/projects/acts/acts/Core/include/Acts/TrackFitting/GlobalChiSquareFitter.hpp:1268:43: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1268 | auto result = m_propagator.template makeResult(std::move(propagatorState), | ^ /home/krasznaa/ATLAS/projects/acts/acts/Core/include/Acts/TrackFitting/GlobalChiSquareFitter.hpp:1483:54: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1483 | auto propagationResult = m_propagator.template propagate(propagatorState); | ^ /home/krasznaa/ATLAS/projects/acts/acts/Core/include/Acts/TrackFitting/GlobalChiSquareFitter.hpp:1486:43: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1486 | auto result = m_propagator.template makeResult(std::move(propagatorState), | ^ 4 errors generated. ``` I imagine that those functions were templated once in the past, but they clearly are no longer. And Clang really doesn't like the erroneous call. 🤔 Unfortunately I was not able to reproduce these issues with [LLVM 18.1.8](https://discourse.llvm.org/t/18-1-8-released/79725). 😦 (That's the one I had already on hand. I imagine I'd need LLVM 19 to trigger this issue without oneAPI...) But I believe these will be useful fixes for vanilla Clang support as well.
- Loading branch information