Fixes for LCG 104
LCG 104 will have a number of changes including fmtlib 10, new ROOT and C++20 (with gcc13). This require adaptations:
- fixes for fmtlib (compile time checking and explicit formatters), see also gaudi/Gaudi!1462 (merged)
- fix use of
std::accumulate
(the first argument of the operator must be equivalent toconst T&
, soT&
is not good) - add missing include of
<cstdint>
- fix for implicit
==
operands swap in C++20, see also gaudi/Gaudi!1466 (merged) - fix error
template-id not allowed for destructor
(note that this causes a warning in clang12) - workarounds for ROOT issues
- fix
LHCbMath/bit_cast.h
for C++20 - fixes for errors reported by Clang 16
It's a bit unrelated, but while at it I fixed a few warnings in Event/Bremsstrahlung.h
.
Note: this is part of a pool of related (not interdependent) MRs: Detector!400 (merged), !4143 (merged), Run2Support!46 (merged), Boole!483 (merged), Rec!3449 (merged), Alignment!388 (merged)
See also https://its.cern.ch/jira/projects/LHCBPS/issues/LHCBPS-1912
Edited by Marco Clemencic