From 17364e148bc230d8eec989c1e5990ae99a01e803 Mon Sep 17 00:00:00 2001 From: Matti Kortelainen Date: Fri, 9 Jun 2023 10:37:09 +0200 Subject: [PATCH] No need to check into base classes of std classes From Philippe Canal. Checking existence of dictionaries for base classes of std classes caused missing dictionary errors for __pair_base with GCC 12. --- FWCore/Reflection/src/DictionaryTools.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/FWCore/Reflection/src/DictionaryTools.cc b/FWCore/Reflection/src/DictionaryTools.cc index a80fe43c32f81..ba1fd81a3abf3 100644 --- a/FWCore/Reflection/src/DictionaryTools.cc +++ b/FWCore/Reflection/src/DictionaryTools.cc @@ -57,6 +57,7 @@ to have dictionaries. #include "FWCore/Utilities/interface/WrappedClassName.h" #include "TClass.h" +#include "TClassEdit.h" #include "THashTable.h" #include @@ -328,6 +329,12 @@ namespace edm { return true; } + // No need to check into base classes of standard library + // classes. + if (TClassEdit::IsStdClass(typeWithDict.name().c_str())) { + return true; + } + TypeBases bases(typeWithDict); bool returnValue = true; for (auto const& basex : bases) {