Suppress TBB Warnings with C++20, 23.0 branch (2023.07.06.)
-
Review changes -
-
Download -
Patches
-
Plain diff
2 unresolved threads
Merged
Attila Krasznahorkay requested to merge akraszna/athena:TBBWarningSuppress-main-20230706 into 23.0
2 unresolved threads
I hate this proposal, but just can not come up with a better solution for the issue described in ATLINFR-4996.
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/bin/genreflex \
/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers/AthContainers/AthContainersDict.h -o AthContainersDictReflexDict.cxx \
--noIncludePaths --rootmap=AthContainersDict.dsomap --rootmap-lib=libAthContainersDict.so --library=libAthContainersDict.so \
--select="/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers/AthContainers/selection.xml" \
-I "/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/AthenaExternals/24.0.8/InstallArea/x86_64-el9-gcc13-opt/lib/CLHEP-2.4.1.3/../../include" \
-isystem "/mnt/hdd1/krasznaa/projects/gcc13/build/Control/AthContainers/CMakeFiles" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/AthenaExternals/24.0.8/InstallArea/x86_64-el9-gcc13-opt/lib/CLHEP-2.4.1.3/../../include" \
-isystem "/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/include" -isystem "/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/Boost/1.82.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/AthContainersInterfaces" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/CxxUtils" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/Boost/1.82.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/AthenaKernel" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/Boost/1.82.0/x86_64-el9-gcc13-opt/include" \
-isystem "/usr/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/DataModelRoot" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/AthenaExternals/24.0.8/InstallArea/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/AthenaExternals/24.0.8/InstallArea/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/latest/Boost/1.82.0-fbfc9/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/latest/Boost/1.82.0-fbfc9/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/latest/Boost/1.82.0-fbfc9/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/latest/Boost/1.82.0-fbfc9/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/latest/Boost/1.82.0-fbfc9/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/ROOT/v6-28-00-patches/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/cppgsl/3.1.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/fmt/10.0.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/jsonmcpp/3.10.5/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/jsonmcpp/3.10.5/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/rangev3/0.11.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/AthLinks" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/Boost/1.82.0/x86_64-el9-gcc13-opt/include" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/SGTools" \
-isystem "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master--dev4LCG_Athena_x86_64-el9-gcc13-opt/2023-07-05T0730/Athena/24.0.8/InstallArea/x86_64-el9-gcc13-opt/src/Control/AthAllocators" \
-isystem "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/Boost/1.82.0/x86_64-el9-gcc13-opt/include" \
-DGAUDI_V20_COMPAT -DATLAS_PACKAGE_NAME=\"AthContainers\" -DEIGEN_DONT_VECTORIZE -DBOOST_FILESYSTEM_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK \
-DBOOST_THREAD_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_SYSTEM_DYN_LINK \
-DFMT_SHARED -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DJSON_DIAGNOSTICS=0
i.e. by way over-using -isystem
, I would still see the following warning with GCC 13 / C++20:
In file included from input_line_7:10:
In file included from /mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers/AthContainers/AuxTypeRegistry.h:23:
In file included from /mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers/AthContainers/tools/threading.h:133:
In file included from /cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/concurrent_vector.h:25:
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/atomic.h:240:18: warning: volatile-qualified parameter type 'const volatile long long' is deprecated [-Wdeprecated-volatile]
converter(value_type a_value) : value(a_value) {}
^
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/atomic.h:269:21: note: in instantiation of template class 'tbb::internal::atomic_impl<long long>::converter<const volatile long long>' requested here
static typename converter<value_t>::bits_type & to_bits_ref(value_t& value){
^
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/atomic.h:311:42: note: while substituting deduced template arguments into function template 'to_bits_ref' [with value_t = const volatile long long]
__TBB_load_with_acquire( to_bits_ref(my_storage.my_value) )
^
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/atomic.h:454:1: note: in instantiation of member function 'tbb::internal::atomic_impl<long long>::operator long long' requested here
__TBB_DECL_ATOMIC(__TBB_LONG_LONG)
^
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/atomic.h:441:78: note: expanded from macro '__TBB_DECL_ATOMIC'
atomic<T>& operator=( const atomic<T>& rhs ) {store_with_release(rhs); return *this;} \
...
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Wed/tbb/2020_U2/x86_64-el9-gcc13-opt/include/tbb/concurrent_vector.h:873:16: note: in instantiation of member function 'tbb::concurrent_vector<SG::AuxTypeRegistry::typeinfo_t, tbb::cache_aligned_allocator<SG::AuxTypeRegistry::typeinfo_t> >::internal_subscript' requested here
return internal_subscript(index);
^
/mnt/hdd1/krasznaa/projects/gcc13/athena/Control/AthContainers/AthContainers/AuxTypeRegistry.icc:48:17: note: in instantiation of member function 'tbb::concurrent_vector<SG::AuxTypeRegistry::typeinfo_t, tbb::cache_aligned_allocator<SG::AuxTypeRegistry::typeinfo_t> >::operator[]' requested here
return m_types[auxid].m_factory;
At the same time, I just couldn't reproduce the same behaviour in any simple example in which I was trying to use tbb::concurrent_vector
in the same way in whith SG::AuxTypeRegistry
is doing it.
So I bring this to @ssnyder and @fwinkl: should we do this ugly thing, or continue with the debugging, involving the ROOT developers in the fun as well? I'm not sure myself what would be the best to do.
Merge request reports
Viewing commit
ccc154b7
Show latest version
Compare changes
- Side-by-side
- Inline
Files
2- ccc154b7
Make ATLFAST3F_G4MS configuration match ATLFAST3 configuration except that ISF... See merge request !64143
Loading