From c75fcc040a0da3afd16d69501ce59db8de968d7f Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 15 Nov 2018 21:04:27 +0100 Subject: [PATCH] AtlasSTLAddReflex: Tweak selection rules for gcc 8.2.1. In gcc 8.2.1, std::pair derives from std::__pair_base. Tweak selection rules so that we generate dictionaries for both, if present. Avoids root streamer warnings about missing dictionaries. Former-commit-id: c90342448198e27890dc0684159714e9c90d9b99 --- .../AtlasSTLAddReflex/AtlasSTLAddReflexDict.h | 10 ++++++++-- .../AtlasSTLAddReflex/selection.xml | 14 +++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/AtlasSTLAddReflexDict.h b/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/AtlasSTLAddReflexDict.h index 4cb635362bd..0824bc453b6 100755 --- a/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/AtlasSTLAddReflexDict.h +++ b/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/AtlasSTLAddReflexDict.h @@ -1,7 +1,7 @@ // dear emacs, this is -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Some common classes for general use in ATLAS @@ -17,4 +17,10 @@ #include <boost/array.hpp> - +template struct std::pair<unsigned int, unsigned int>; +template struct std::pair<std::string, unsigned int>; +template struct std::pair<std::string, std::vector<int> >; +template struct std::pair<std::string, std::vector<double> >; +template struct std::pair<std::pair<std::string, unsigned int>, std::pair<std::string, unsigned int> >; +template struct std::pair<unsigned int, std::vector<float> >; +template struct std::pair<unsigned int, std::vector<unsigned int> >; diff --git a/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/selection.xml b/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/selection.xml index 49b4807ffbf..140dff74f6b 100755 --- a/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/selection.xml +++ b/Database/AtlasSTLAddReflex/AtlasSTLAddReflex/selection.xml @@ -1,13 +1,13 @@ <lcgdict> - <class name="std::pair<unsigned int, unsigned int>" /> - <class name="std::pair<std::string, unsigned int>" /> - <class name="std::pair<std::string, std::vector<int> >"/> - <class name="std::pair<std::string, std::vector<double> >"/> + <class pattern="std::*pair*<unsigned int, unsigned int>" /> + <class pattern="std::*pair*<std::string, unsigned*" /> + <class pattern="std::*pair*<*string*vector<int*"/> + <class pattern="std::*pair*<*string*vector<double*"/> - <class name="std::pair<std::pair<std::string, unsigned int>, std::pair<std::string, unsigned int> >"/> - <class name="std::pair<unsigned int, std::vector<float> >"/> - <class name="std::pair<unsigned int, std::vector<unsigned int> >"/> + <class pattern="std::*pair*<std::pair<std::string, unsigned int>, std::pair<std::string, unsigned int> >"/> + <class pattern="std::*pair*<unsigned int, std::vector<float*"/> + <class pattern="std::*pair*<unsigned int, std::vector<unsigned int*"/> <class name="std::vector<long long>"/> <class name="std::vector<unsigned long long>"/> -- GitLab