Skip to content

Fixes for gcc 13, clang 16 and C++20

Marco Clemencic requested to merge fixes-for-gcc13 into master
  • Fix warning about implicit capture of this (deprecated in C++20)
  • Hide maybe-uninitialized warnings from ROOT dictionaries
  • Remove unused variables
  • Fix implicit copy constructor/assignment deprecation warning
  • Avoid warning: ittptmark64.o: missing .note.GNU-stack section implies executable stack
  • Avoid ambiguity in NamedRange_{} == NamedRange_{}

About the warnings from the dictionaries, I managed to produce a test case that show how the warning pops up: https://godbolt.org/z/je7dE3vr1 The problem only appears with the optimization level -Og (used by LHCb in debug builds), so I'm not too worried. In any case I'll report the issue to ROOT ASAP.

Without NamedRange_::operator==, in the comparison between two NamedRange_ instances nr1 and nr2 C++20 would not be able to choose between (Range_&)nr1 == nr2 and (Range_&)nr2 == nr1.

Edited by Marco Clemencic

Merge request reports