diff --git a/DataFormats/GEMDigi/interface/GEMOptoHybrid.h b/DataFormats/GEMDigi/interface/GEMOptoHybrid.h index 499bbb2f4b65d..ea606c39a4fdc 100644 --- a/DataFormats/GEMDigi/interface/GEMOptoHybrid.h +++ b/DataFormats/GEMDigi/interface/GEMOptoHybrid.h @@ -73,7 +73,7 @@ class GEMOptoHybrid { }; }; - GEMOptoHybrid() : ch_(0), ct_(0), existVFATs_(0) {} + GEMOptoHybrid() : ver_(0), ch_(0), ct_(0), existVFATs_(0) {} ~GEMOptoHybrid() { vfatd_.clear(); } void setVersion(uint8_t i) { ver_ = i; } diff --git a/L1Trigger/GlobalMuonTrigger/src/L1MuGlobalMuonTrigger.cc b/L1Trigger/GlobalMuonTrigger/src/L1MuGlobalMuonTrigger.cc index 7db2f39a91080..9ad613a6080f5 100644 --- a/L1Trigger/GlobalMuonTrigger/src/L1MuGlobalMuonTrigger.cc +++ b/L1Trigger/GlobalMuonTrigger/src/L1MuGlobalMuonTrigger.cc @@ -71,10 +71,11 @@ L1MuGlobalMuonTrigger::L1MuGlobalMuonTrigger(const edm::ParameterSet& ps) { m_ExtendedCands.reserve(20); // set configuration parameters - if (not m_config) { + if (!std::atomic_load(&m_config)) { // Atomically load m_config auto temp = std::make_shared(ps); - std::shared_ptr empty; - std::atomic_compare_exchange_strong(&m_config, &empty, temp); + std::shared_ptr empty = nullptr; // Explicit nullptr for CAS + std::atomic_compare_exchange_strong_explicit( + &m_config, &empty, temp, std::memory_order_acq_rel, std::memory_order_acquire); } m_writeLUTsAndRegs = ps.getUntrackedParameter("WriteLUTsAndRegs", false); @@ -122,10 +123,11 @@ L1MuGlobalMuonTrigger::L1MuGlobalMuonTrigger(const edm::ParameterSet& ps) { edm::LogVerbatim("GMT_info") << "creating GMT Sorter"; m_Sorter = new L1MuGMTSorter(*this); // barrel - if (not m_db) { + if (!std::atomic_load(&m_db)) { // Atomically load m_db auto temp = std::make_shared(m_config->getBxMin(), m_config->getBxMax()); - std::shared_ptr empty; - std::atomic_compare_exchange_strong(&m_db, &empty, temp); + std::shared_ptr empty = nullptr; // Explicit nullptr for CAS + std::atomic_compare_exchange_strong_explicit( + &m_db, &empty, temp, std::memory_order_acq_rel, std::memory_order_acquire); } usesResource("L1MuGlobalMuonTrigger"); ///EventSetup Tokens diff --git a/L1Trigger/L1TMuonEndCap/interface/bdt/Tree.h b/L1Trigger/L1TMuonEndCap/interface/bdt/Tree.h index ea16c9cc7b09b..f9c18ebdb6fde 100644 --- a/L1Trigger/L1TMuonEndCap/interface/bdt/Tree.h +++ b/L1Trigger/L1TMuonEndCap/interface/bdt/Tree.h @@ -20,7 +20,7 @@ namespace emtf { Tree(const Tree& tree); Tree& operator=(const Tree& tree); - Tree(Tree&& tree); + Tree(Tree&& tree) noexcept; void setRootNode(Node* sRootNode); Node* getRootNode(); diff --git a/L1Trigger/L1TMuonEndCap/src/bdt/Tree.cc b/L1Trigger/L1TMuonEndCap/src/bdt/Tree.cc index 8d691967febac..3eaac170bf48a 100644 --- a/L1Trigger/L1TMuonEndCap/src/bdt/Tree.cc +++ b/L1Trigger/L1TMuonEndCap/src/bdt/Tree.cc @@ -135,15 +135,14 @@ void Tree::findLeafs(Node* local_root, std::list& tn) { findLeafs(local_root->getRightDaughter(), tn); } -Tree::Tree(Tree&& tree) { - if (rootNode) - delete rootNode; // this line is the only reason not to use default move constructor - rootNode = tree.rootNode; - terminalNodes = std::move(tree.terminalNodes); - numTerminalNodes = tree.numTerminalNodes; - rmsError = tree.rmsError; - boostWeight = tree.boostWeight; - xmlVersion = tree.xmlVersion; +Tree::Tree(Tree&& tree) noexcept + : rootNode(tree.rootNode), + terminalNodes(std::move(tree.terminalNodes)), + numTerminalNodes(tree.numTerminalNodes), + rmsError(tree.rmsError), + boostWeight(tree.boostWeight), + xmlVersion(tree.xmlVersion) { + tree.rootNode = nullptr; // this line is the only reason not to use default move constructor } ////////////////////////////////////////////////////////////////////////// diff --git a/TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h b/TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h index b58e9d645a1ae..a44b5db90c919 100644 --- a/TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h +++ b/TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h @@ -36,7 +36,8 @@ class SteppingHelixStateInfo { static const std::string ResultName[MAX_RESULT]; SteppingHelixStateInfo() - : path_(0), + : q(0), + path_(0), radPath_(0), dir(0), magVol(nullptr), diff --git a/Validation/RecoParticleFlow/bin/PlotCompareUtility.cpp b/Validation/RecoParticleFlow/bin/PlotCompareUtility.cpp index 28860d627adf9..53b5f9683e553 100644 --- a/Validation/RecoParticleFlow/bin/PlotCompareUtility.cpp +++ b/Validation/RecoParticleFlow/bin/PlotCompareUtility.cpp @@ -25,7 +25,7 @@ PlotCompareUtility::PlotCompareUtility(std::string Reference, std::string RefBasePath, std::string RefPrefix) { // open TFiles - cout << refFile << " " << newFile << endl; + cout << Reference << " " << New << endl; refFile = new TFile(Reference.c_str(), "READ"); newFile = new TFile(New.c_str(), "READ");