From 486f7970503363f0ced26711a86c1290d0a5030c Mon Sep 17 00:00:00 2001 From: Scott Snyder <scott.snyder@cern.ch> Date: Tue, 6 Dec 2016 17:56:01 +0100 Subject: [PATCH] 'Workaround for cling crash ROOT-8499.' (HitManagement-00-01-27) * Tagging HitManagement-00-01-27. * HitManagement/AthenaHitsVector.h, HitManagement/AtlasHitsVector.h: Workaround for cling crash ROOT-8499. 2016-07-29 scott snyder <snyder@bnl.gov> * Tagging HitManagement-00-01-26. * endreq -> endmsg. Former-commit-id: dc1c0d5b4e90b1f729e9aaa9e2b16c4f922858e6 --- Simulation/HitManagement/HitManagement/AthenaHitsVector.h | 7 ++++++- Simulation/HitManagement/HitManagement/AtlasHitsVector.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Simulation/HitManagement/HitManagement/AthenaHitsVector.h b/Simulation/HitManagement/HitManagement/AthenaHitsVector.h index 60cae6cb8dc..c4dfee6fa08 100755 --- a/Simulation/HitManagement/HitManagement/AthenaHitsVector.h +++ b/Simulation/HitManagement/HitManagement/AthenaHitsVector.h @@ -55,7 +55,7 @@ public: { IMessageSvc* msgSvc(Athena::getMessageSvc()); MsgStream log(msgSvc, "AthenaHitsVector"); - log << MSG::DEBUG << " initialized." << endreq; + log << MSG::DEBUG << " initialized." << endmsg; m_name = collectionName; } @@ -150,11 +150,14 @@ public: public: + // Hide from cling to avoid crash in 6.08.00. cf. ROOT-8499. +#ifndef __CLING__ // Used to ensure that the DVLInfo gets registered // when the dictionary for this class is loaded. static const std::type_info* initHelper() { return DataModel_detail::DVLInfo<AthenaHitsVector<T> >::initHelper(); }; static const std::type_info* s_info; +#endif }; @@ -174,10 +177,12 @@ void dvl_makecontainer (size_t nreserve, AthenaHitsVector<T>*& cont) } +#ifndef __CLING__ // Ensure that the DVLInfo gets registered // when the dictionary for this class is loaded. template <class T> const std::type_info* AthenaHitsVector<T>::s_info = AthenaHitsVector<T>::initHelper(); +#endif #endif diff --git a/Simulation/HitManagement/HitManagement/AtlasHitsVector.h b/Simulation/HitManagement/HitManagement/AtlasHitsVector.h index ae6e5957c0c..64dfda30edf 100755 --- a/Simulation/HitManagement/HitManagement/AtlasHitsVector.h +++ b/Simulation/HitManagement/HitManagement/AtlasHitsVector.h @@ -56,7 +56,7 @@ public: { IMessageSvc* msgSvc(Athena::getMessageSvc()); MsgStream log(msgSvc, "AtlasHitsVector"); - log << MSG::DEBUG << " initialized AtlasHitVector " << collectionName << endreq; + log << MSG::DEBUG << " initialized AtlasHitVector " << collectionName << endmsg; m_name = collectionName; m_hitvector.reserve(mySize); @@ -163,11 +163,14 @@ protected: public: + // Hide from cling to avoid crash in 6.08.00. cf. ROOT-8499. +#ifndef __CLING__ // Used to ensure that the DVLInfo gets registered // when the dictionary for this class is loaded. static const std::type_info* initHelper() { return DataModel_detail::DVLInfo<AtlasHitsVector<T> >::initHelper(); } static const std::type_info* s_info; +#endif }; @@ -186,10 +189,12 @@ void dvl_makecontainer (size_t nreserve, AtlasHitsVector<T>*& cont) } +#ifndef __CLING__ // Ensure that the DVLInfo gets registered // when the dictionary for this class is loaded. template <class T> const std::type_info* AtlasHitsVector<T>::s_info = AtlasHitsVector<T>::initHelper(); +#endif #endif -- GitLab