clang19 patches for VecGeom and VecCore

This MR patches VecGeom 1.1.20 and VecCore 0.8.0 to compile with clang19.

Supersedes MR !1200 (closed) since VecCore 0.8.2 produces output files differences in CITest_SimulationRun3FullSimChecks_ctest and CITest_SimulationRun3HitsMergeWithSort_ctest in AthSimulation.

The patched VecCore-0.8.0 tarball at https://atlas-software-dist-eos.web.cern.ch/externals/VecCore/VecCore-0.8.0.tar.gz contains patches of the following 3 files to compile with clang19:

diff ./veccore-0.8.0/include/VecCore/Backend/Deprecated.h~ ./veccore-0.8.0/include/VecCore/Backend/Deprecated.h
52c52
<   LoadStoreImplementation<T>::template Load(v, ptr);
---
>   LoadStoreImplementation<T>::Load(v, ptr);


diff ./veccore-0.8.0/include/VecCore/Backend/ScalarWrapper.h~ ./veccore-0.8.0/include/VecCore/Backend/ScalarWrapper.h
157c157
<   WrappedScalar(const WrappedScalar *const s) : fVal(s->val_ptr) {}
---
>   WrappedScalar(const WrappedScalar *const s) : fVal(s->fVal) {}


diff ./veccore-0.8.0/include/VecCore/Backend/Implementation.h~ ./veccore-0.8.0/include/VecCore/Backend/Implementation.h
147c147
<   LoadStoreImplementation<T>::template Load(v, ptr);
---
>   LoadStoreImplementation<T>::Load(v, ptr);
156c156
<   LoadStoreImplementation<T>::template Load(v, ptr);
---
>   LoadStoreImplementation<T>::Load(v, ptr);
165c165
<   LoadStoreImplementation<T>::template Store(v, ptr);
---
>   LoadStoreImplementation<T>::Store(v, ptr);

Tagging @jchapman and @jcatmore for info.

Edited by Johannes Elmsheuser

Merge request reports

Loading