From 96ce76fe75a572e16fd99f7110f19e09164efb09 Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Thu, 10 May 2018 18:13:32 +0200 Subject: [PATCH] TPTools: Suppress some undefined behavior sanitizer warnings. Suppress some warnings from the undefined behavior sanitizer that originate from the unsafe #defines of the TPTools classes. This was fixed properly in master, but we don't want to backport, so just suppress the warnings in 21.0. Needed to fix test failures in some *AthenaPool packages. Former-commit-id: c74adb3913d6f9c34a68468f5bfa310f6a1d6759 --- Database/TPTools/src/AthenaConverterTLPExtension.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Database/TPTools/src/AthenaConverterTLPExtension.cxx b/Database/TPTools/src/AthenaConverterTLPExtension.cxx index c23204bc2e9..89496b9a068 100644 --- a/Database/TPTools/src/AthenaConverterTLPExtension.cxx +++ b/Database/TPTools/src/AthenaConverterTLPExtension.cxx @@ -12,6 +12,7 @@ #include "TPTools/AthenaConverterTLPExtension.h" #include "AthenaPoolUtilities/TPCnvTokenList_p1.h" #include "PersistentDataModel/Token.h" +#include "CxxUtils/no_sanitize_undefined.h" #include <stdexcept> #include <sstream> @@ -20,12 +21,12 @@ using namespace std; unsigned short -AthenaConverterTLPExtension::getTPCnvID() { +AthenaConverterTLPExtension::getTPCnvID NO_SANITIZE_UNDEFINED () { return getTopLevelTPCnv()->getConverterID(); } -bool AthenaConverterTLPExtension::registerExtendingCnv( AthenaConverterTLPExtension *extending_converter ) +bool AthenaConverterTLPExtension::registerExtendingCnv NO_SANITIZE_UNDEFINED ( AthenaConverterTLPExtension *extending_converter ) { // check if all converter IDs are unique int extendingTPLCnvID = extending_converter->getTPCnvID(); @@ -123,7 +124,7 @@ void AthenaConverterTLPExtension::writeExtendingObjects( void *baseObj, const st } -void AthenaConverterTLPExtension::readExtendingObjects( void *baseObj ) +void AthenaConverterTLPExtension::readExtendingObjects NO_SANITIZE_UNDEFINED ( void *baseObj ) { // m_TLCnvForReading may be 0 if reading pre-TP object if( m_TLCnvForReading ) { @@ -172,7 +173,7 @@ void AthenaConverterTLPExtension::readExtendingObjects( void *baseObj ) -void AthenaConverterTLPExtension::deletePersistentObjects() +void AthenaConverterTLPExtension::deletePersistentObjects NO_SANITIZE_UNDEFINED () { for( extCnvMap_t::const_iterator cnv = m_extendingConverters.begin(); cnv != m_extendingConverters.end(); cnv++ ) { -- GitLab