diff --git a/AtlasTest/ControlTest/test/SGDataLink_test.cxx b/AtlasTest/ControlTest/test/SGDataLink_test.cxx
index 7b820dc60da075ea5abf53d43fb3a355d5506513..ece70255b8e0dc9b1ef068cf67b13dfbe5d3fb23 100644
--- a/AtlasTest/ControlTest/test/SGDataLink_test.cxx
+++ b/AtlasTest/ControlTest/test/SGDataLink_test.cxx
@@ -230,7 +230,6 @@ namespace Athena_test
     assert(liint.index() == 1);
     assert(liint.dataID() == "a vector");
     cout << "*** DataLink_test StoreGate OK ***\n\n" <<endl;
-    // cppcheck-suppress memleak; false positive
   }
 
   void dummyToRemoveWarning(const Foo&) 
@@ -334,7 +333,6 @@ namespace Athena_test
     std::cout << "xxx " << der << " " << link.cptr() << "\n";
     //assert (link.cptr() == der);
     cout << "*** DataLink_test FwdBase OK ***\n\n" <<endl;
-    // cppcheck-suppress memleak; false positive
   }
 } //end namespace
 
diff --git a/Calorimeter/CaloRec/src/CaloTopoClusterSplitter.cxx b/Calorimeter/CaloRec/src/CaloTopoClusterSplitter.cxx
index f4fee9cc35357f8fc9b749c84a5f2e42f21d4816..5d28368a6ec998fd90176c00cb0b72cc2e59adeb 100644
--- a/Calorimeter/CaloRec/src/CaloTopoClusterSplitter.cxx
+++ b/Calorimeter/CaloRec/src/CaloTopoClusterSplitter.cxx
@@ -945,7 +945,6 @@ StatusCode CaloTopoClusterSplitter::execute(const EventContext& ctx,
 	      // myNextCell list it is a shared cell, added to the
 	      // list of shared cells and removed from the cluster it
 	      // first was added to
-              // cppcheck-suppress invalidContainer; false positive
 	      while ( !isRemoved && nextCellIter != nextCellIterEnd ) {
 		if ( (*nextCellIter) == neighborCell ) {
 		  nextCellIter = myNextCells.erase(nextCellIter);
diff --git a/Calorimeter/CaloRec/src/CaloTopoTmpHashClusterBase.h b/Calorimeter/CaloRec/src/CaloTopoTmpHashClusterBase.h
index f8705900bee7d7ea4aa3a15c116c9e1f163c29e6..7d6ffffb272e333ea01bc5fd46a3b85b157e98db 100644
--- a/Calorimeter/CaloRec/src/CaloTopoTmpHashClusterBase.h
+++ b/Calorimeter/CaloRec/src/CaloTopoTmpHashClusterBase.h
@@ -56,13 +56,11 @@ public:
 
     reference operator*()
     {
-      // cppcheck-suppress returnTempReference; false positive
       return reinterpret_cast<reference> (pointer_list::iterator::operator*());
     }
 
     reference operator->()
     {
-      // cppcheck-suppress returnTempReference; false positive
       return reinterpret_cast<reference> (pointer_list::iterator::operator*());
     }
   };
diff --git a/Control/AthAllocators/AthAllocators/ArenaHeapAllocator.h b/Control/AthAllocators/AthAllocators/ArenaHeapAllocator.h
index 204115d85de3e38c82d094b3951270e486ac6282..09a96606b2978f9c0609b2de0bd5b8747d6b8206 100644
--- a/Control/AthAllocators/AthAllocators/ArenaHeapAllocator.h
+++ b/Control/AthAllocators/AthAllocators/ArenaHeapAllocator.h
@@ -182,7 +182,6 @@ public:
    * @c destructor should be called on them if it was provided
    * (preceded by @c clear if provided and @c mustClear was set).
    */
-  // cppcheck-suppress virtualCallInConstructor ; false positive
   virtual void erase() override final;
 
 
diff --git a/Control/AthAllocators/AthAllocators/ArenaPoolAllocator.h b/Control/AthAllocators/AthAllocators/ArenaPoolAllocator.h
index a3da6cc4d61e32f381940a00d8a2629d866b1260..5b7e5b356916547b1c75c1fb85115e4e633c245a 100644
--- a/Control/AthAllocators/AthAllocators/ArenaPoolAllocator.h
+++ b/Control/AthAllocators/AthAllocators/ArenaPoolAllocator.h
@@ -201,7 +201,6 @@ public:
    * @c destructor should be called on them if it was provided
    * (preceded by @c clear if provided and @c mustClear was set).
    */
-  // cppcheck-suppress virtualCallInConstructor ; false positive
   virtual void erase() override final;
 
 
diff --git a/Control/AthAllocators/AthAllocators/ArenaPoolSTLAllocator.icc b/Control/AthAllocators/AthAllocators/ArenaPoolSTLAllocator.icc
index ce8589816673805b304db2fcdc2adfa2b0bf389d..75ae8c77104818c18f1a244fc93cea01fe2dd2e7 100644
--- a/Control/AthAllocators/AthAllocators/ArenaPoolSTLAllocator.icc
+++ b/Control/AthAllocators/AthAllocators/ArenaPoolSTLAllocator.icc
@@ -473,7 +473,6 @@ const std::string& ArenaPoolSTLAllocator<T*, VETO>::name() const
  *               allocator name.
  */
 template <class T>
-// cppcheck-suppress uninitMemberVar ; false positive
 ArenaPoolSTLAllocator<T, ATHVETO>::ArenaPoolSTLAllocator
  (size_t nblock /*= 1000*/, const std::string& name /*= ""*/)
     : m_nblock (nblock),
diff --git a/Control/AthAllocators/src/ArenaAllocatorBase.cxx b/Control/AthAllocators/src/ArenaAllocatorBase.cxx
index f95058ce1caf9b680b50ff5fa3c9246082734536..4aa2e4d8ee8c7f715e5989ca8e003e0743af03ac 100644
--- a/Control/AthAllocators/src/ArenaAllocatorBase.cxx
+++ b/Control/AthAllocators/src/ArenaAllocatorBase.cxx
@@ -22,7 +22,6 @@ namespace SG {
 /**
  * @brief Constructor for a single statistic.
  */
-// cppcheck-suppress uninitMemberVar ; false positive
 ArenaAllocatorBase::Stats::Stat::Stat()
   : inuse (0),
     free (0),
diff --git a/Control/AthAllocators/test/ArenaHeapSTLAllocator_test.cxx b/Control/AthAllocators/test/ArenaHeapSTLAllocator_test.cxx
index 9e464a67675f047f9fd1c7977557ad957954b676..f62f453f32d9e5167e76c05d0e29c788a6bfaea5 100644
--- a/Control/AthAllocators/test/ArenaHeapSTLAllocator_test.cxx
+++ b/Control/AthAllocators/test/ArenaHeapSTLAllocator_test.cxx
@@ -37,7 +37,6 @@ struct Payload
   static std::vector<int> v ATLAS_THREAD_SAFE;
 };
 
-// cppcheck-suppress uninitMemberVar  // false positive
 Payload::Payload(int the_y)
 {
   x = n++;
diff --git a/Control/AthAllocators/test/ArenaPoolSTLAllocator_test.cxx b/Control/AthAllocators/test/ArenaPoolSTLAllocator_test.cxx
index d117bb9400aa2ef53eb05008dd14421272bbc7e5..860fa4c9870597b4d9665e4fee14422a91c8e7b6 100644
--- a/Control/AthAllocators/test/ArenaPoolSTLAllocator_test.cxx
+++ b/Control/AthAllocators/test/ArenaPoolSTLAllocator_test.cxx
@@ -38,7 +38,6 @@ struct Payload
   static std::vector<int> v ATLAS_THREAD_SAFE;
 };
 
-// cppcheck-suppress uninitMemberVar  // false positive
 Payload::Payload(int the_y)
 {
   x = n++;
diff --git a/Control/AthAllocators/test/ArenaSharedHeapSTLAllocator_test.cxx b/Control/AthAllocators/test/ArenaSharedHeapSTLAllocator_test.cxx
index 734f630edc0ea42dfe9efe339707f5d0a759f764..455721308a07baa2df9508ee84136217e39e9bd7 100644
--- a/Control/AthAllocators/test/ArenaSharedHeapSTLAllocator_test.cxx
+++ b/Control/AthAllocators/test/ArenaSharedHeapSTLAllocator_test.cxx
@@ -41,7 +41,6 @@ struct Payload
   static std::vector<int> v ATLAS_THREAD_SAFE;
 };
 
-// cppcheck-suppress uninitMemberVar ; false positive
 Payload::Payload(int the_y)
 {
   x = n++;
diff --git a/Control/AthAnalysisBaseComps/AthAnalysisBaseComps/AthAnalysisHelper.h b/Control/AthAnalysisBaseComps/AthAnalysisBaseComps/AthAnalysisHelper.h
index d4d3c928e5bbe183b0e8cefed51706eaa3c353c7..a51f57e992eac604d39214e0c920aadc13e60cd9 100644
--- a/Control/AthAnalysisBaseComps/AthAnalysisBaseComps/AthAnalysisHelper.h
+++ b/Control/AthAnalysisBaseComps/AthAnalysisBaseComps/AthAnalysisHelper.h
@@ -329,14 +329,10 @@ public:
       //if the typeName is std::string, we will try to use the gaudi parsers to parse it
       //otherwise we try to do a straight assignment 
       try {
-        // cppcheck-suppress danglingTempReference; false positive
 	const coral::Attribute& attr = attrlist->second[key];
-        // cppcheck-suppress danglingTempReference; false positive
 	if(attr.specification().typeName()=="string") {
-          // cppcheck-suppress danglingTempReference; false positive
 	  if(Gaudi::Parsers::parse(out,attr.data<std::string>()).isFailure()) return StatusCode::FAILURE;
 	} else { //do a straight conversion, and just hope its ok (FIXME: should probably do a check of typeid(T) vs typeName)
-          // cppcheck-suppress danglingTempReference; false positive
 	  out = attr.data<T>();
 	}
       }
diff --git a/Control/AthContainers/AthContainers/ConstAccessor.icc b/Control/AthContainers/AthContainers/ConstAccessor.icc
index e2e8d94d01291db1fc8e15edee2c4749c6331d8b..1a87d8c53f7fe2fca4a50e7c52fd2e4bc3d3d562 100644
--- a/Control/AthContainers/AthContainers/ConstAccessor.icc
+++ b/Control/AthContainers/AthContainers/ConstAccessor.icc
@@ -44,7 +44,6 @@ ConstAccessor<T, ALLOC>::ConstAccessor
   (const std::string& name, const std::string& clsname)
   : ConstAccessor (name, clsname, SG::AuxVarFlags::None)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
@@ -59,7 +58,6 @@ inline
 ConstAccessor<T, ALLOC>::ConstAccessor (const SG::auxid_t auxid)
   : ConstAccessor (auxid, SG::AuxVarFlags::None)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/Decorator.icc b/Control/AthContainers/AthContainers/Decorator.icc
index 16a099e4859e1d811355d904ca000716f781345b..8c3212fabe740aebe7f73173e23c8daa07694bff 100644
--- a/Control/AthContainers/AthContainers/Decorator.icc
+++ b/Control/AthContainers/AthContainers/Decorator.icc
@@ -58,7 +58,6 @@ inline
 Decorator<T, ALLOC>::Decorator (const SG::auxid_t auxid)
   : Decorator (auxid, SG::AuxVarFlags::None)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/JaggedVecAccessor.icc b/Control/AthContainers/AthContainers/JaggedVecAccessor.icc
index 626541e41f20868d6a43d418bae5736a2fa90207..1b6b750ae2513489a8de9fd12429a181ce8927d0 100644
--- a/Control/AthContainers/AthContainers/JaggedVecAccessor.icc
+++ b/Control/AthContainers/AthContainers/JaggedVecAccessor.icc
@@ -60,7 +60,6 @@ inline
 Accessor<JaggedVecElt<PAYLOAD_T>, ALLOC>::Accessor (const SG::auxid_t auxid)
   : Base (auxid)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/JaggedVecConstAccessor.icc b/Control/AthContainers/AthContainers/JaggedVecConstAccessor.icc
index 5c3da8782cd2410f48558f5a83f60ded6d119bd1..f6fb9dae2dd530aeffc4969498b76a82681f1f88 100644
--- a/Control/AthContainers/AthContainers/JaggedVecConstAccessor.icc
+++ b/Control/AthContainers/AthContainers/JaggedVecConstAccessor.icc
@@ -40,12 +40,10 @@ ConstAccessor<JaggedVecElt<PAYLOAD_T>, ALLOC>::ConstAccessor (const std::string&
  */
 template <class PAYLOAD_T, class ALLOC>
 inline
-// cppcheck-suppress uninitDerivedMemberVar; false positive
 ConstAccessor<JaggedVecElt<PAYLOAD_T>, ALLOC>::ConstAccessor
   (const std::string& name, const std::string& clsname)
   : ConstAccessor (name, clsname, AuxVarFlags::None)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
@@ -101,7 +99,6 @@ inline
 ConstAccessor<JaggedVecElt<PAYLOAD_T>, ALLOC>::ConstAccessor (const detail::LinkedVarAccessorBase& b)
   : detail::LinkedVarAccessorBase (b)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/PackedLinkAccessor.icc b/Control/AthContainers/AthContainers/PackedLinkAccessor.icc
index 7304e84213c79fbfec6c56300afa0f87c65cff63..f90e11bf92c716b781e4402b6a7fc6e5ea5bff19 100644
--- a/Control/AthContainers/AthContainers/PackedLinkAccessor.icc
+++ b/Control/AthContainers/AthContainers/PackedLinkAccessor.icc
@@ -60,7 +60,6 @@ inline
 Accessor<PackedLink<CONT>, ALLOC>::Accessor (const SG::auxid_t auxid)
   : Base (auxid)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/PackedLinkConstAccessor.icc b/Control/AthContainers/AthContainers/PackedLinkConstAccessor.icc
index c865ab85d0b8e063470935eac53e744cd668a014..81f5513ce7f9316abe466417a7547f60a7e628c1 100644
--- a/Control/AthContainers/AthContainers/PackedLinkConstAccessor.icc
+++ b/Control/AthContainers/AthContainers/PackedLinkConstAccessor.icc
@@ -45,7 +45,6 @@ ConstAccessor<PackedLink<CONT>, ALLOC>::ConstAccessor
   (const std::string& name, const std::string& clsname)
   : ConstAccessor (name, clsname, AuxVarFlags::None)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
@@ -65,7 +64,6 @@ ConstAccessor<PackedLink<CONT>, ALLOC>::ConstAccessor (const SG::auxid_t auxid)
   m_linkedAuxid = r.linkedVariable (m_auxid);
   if (m_linkedAuxid == static_cast<uint32_t>(null_auxid)) {
     throw SG::ExcNoLinkedVar (auxid, typeid (CONT));
-    // cppcheck-suppress missingReturn; false positive
   }
 }
 
diff --git a/Control/AthContainers/AthContainers/PackedLinkDecorator.icc b/Control/AthContainers/AthContainers/PackedLinkDecorator.icc
index 2d55765c26ddfa863018336575e52593e5303cf6..31b7835c129136e44f1596967a2980253d95ab35 100644
--- a/Control/AthContainers/AthContainers/PackedLinkDecorator.icc
+++ b/Control/AthContainers/AthContainers/PackedLinkDecorator.icc
@@ -63,7 +63,6 @@ Decorator<PackedLink<CONT>, ALLOC>::Decorator (const SG::auxid_t auxid)
   m_linkedAuxid = r.linkedVariable (m_auxid);
   if (m_linkedAuxid == static_cast<uint32_t>(null_auxid)) {
     throw SG::ExcNoLinkedVar (auxid, typeid (CONT));
-    // cppcheck-suppress missingReturn; false positive
   }
 }
 
diff --git a/Control/AthContainers/AthContainers/tools/ELProxy.icc b/Control/AthContainers/AthContainers/tools/ELProxy.icc
index cf1b5de48ac715ffde94023a261b1202d3d2fb42..9ce7ac42e7cf1f54f1a42a960eba1b0d6584a4d8 100644
--- a/Control/AthContainers/AthContainers/tools/ELProxy.icc
+++ b/Control/AthContainers/AthContainers/tools/ELProxy.icc
@@ -37,7 +37,6 @@ ELProxyValBase<CONT>::ELProxyValBase (AuxVectorData& container,
                                       SG::auxid_t linked_auxid)
   : m_cnv (container, auxid, linked_auxid)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/AthContainers/tools/PackedLinkConversions.icc b/Control/AthContainers/AthContainers/tools/PackedLinkConversions.icc
index 4e99be71b31dc84ef2480bc62c16811cd5eb9de9..a241f3750f021a51fbe3fe398b412393f356b2d6 100644
--- a/Control/AthContainers/AthContainers/tools/PackedLinkConversions.icc
+++ b/Control/AthContainers/AthContainers/tools/PackedLinkConversions.icc
@@ -96,7 +96,6 @@ PackedLinkConverter<CONT>::PackedLinkConverter (AuxVectorData& container,
     m_linkedVec (container, auxid),
     m_dlinks (*container.getDataSpan (linked_auxid))
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/AthContainers/Root/AuxTypeRegistry.cxx b/Control/AthContainers/Root/AuxTypeRegistry.cxx
index b41afdd59622f0714c032a90eaae810053bb6d9c..5b15a2839376d021b104fcf1b724bd7c203d613e 100644
--- a/Control/AthContainers/Root/AuxTypeRegistry.cxx
+++ b/Control/AthContainers/Root/AuxTypeRegistry.cxx
@@ -554,7 +554,6 @@ AuxTypeRegistryImpl::addFactory (lock_t& /*lock*/,
   else
     m_factories.insert_or_assign (key, factory.release());
 
-  // cppcheck-suppress returnDanglingLifetime; false positive
   return fac;
 }
 
diff --git a/Control/AthLinks/AthLinks/AssociationMap.h b/Control/AthLinks/AthLinks/AssociationMap.h
index fe6265edcb0f21bf4a7127d673e4adfb02c4d6e2..844f45629ba70654b8d838547e0a97336d4fa12d 100644
--- a/Control/AthLinks/AthLinks/AssociationMap.h
+++ b/Control/AthLinks/AthLinks/AssociationMap.h
@@ -137,7 +137,6 @@ class AssociationMap
 
   /// \brief finding an object with allocation
   object_iterator findObject(const object_type* theObject) const
-    // cppcheck-suppress returnDanglingLifetime; false positive
     { return object_iterator(m_associationMap).find(theObject); }
 
   /// \brief testing if object is in store
diff --git a/Control/AthToolSupport/AsgServices/AsgServices/ServiceStore.h b/Control/AthToolSupport/AsgServices/AsgServices/ServiceStore.h
index 1b035626a124dfdc770a9f105b073432c066c65f..ba47c9bfea9f74c6d28c4d832a9df164c0850b8d 100644
--- a/Control/AthToolSupport/AsgServices/AsgServices/ServiceStore.h
+++ b/Control/AthToolSupport/AsgServices/AsgServices/ServiceStore.h
@@ -52,7 +52,6 @@ namespace asg
 
     /// Retrieve a service by name and interface.
     template< typename T >
-    // cppcheck-suppress constStatement; false positive
     static std::shared_ptr<T> get( const std::string& name )
     {
       return std::dynamic_pointer_cast< T >( get( name ) );
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
index 0ca7388f5efe30ea9e2f58d9e0faa492329f7c94..78678fb4df33514df8fff66f7c68acbe0c898543 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
@@ -586,7 +586,6 @@ namespace asg
       break;
     }
 
-    // cppcheck-suppress constStatement; false positive
     T *toolPtr = nullptr;
     ANA_CHECK (makeToolRetrieve (toolPtr, th));
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
index 78a6923a01ec8292935f7fdfae83e35a010f1b43..30aede7da03592b3b38944a96b607ecf87b29bf2 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
@@ -41,7 +41,6 @@ namespace asg {
 
       /// Retrieve a tool by name and interface.
       template< typename T >
-      // cppcheck-suppress constStatement; false positive
       static T* get( const std::string& name ) {
 
          return dynamic_cast< T* >( get( name ) );
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucket.icc b/Control/AthenaKernel/AthenaKernel/DataBucket.icc
index 52d5bc9da902fe24f365bc1bc8965d71639b6f80..86ce35a2de51f5dd3df206ca31adccfd323db646 100755
--- a/Control/AthenaKernel/AthenaKernel/DataBucket.icc
+++ b/Control/AthenaKernel/AthenaKernel/DataBucket.icc
@@ -68,7 +68,6 @@ SG::DataBucket<T>::DataBucket(T* data)
 
 template <typename T>
 template <typename U>
-// cppcheck-suppress uninitMemberVar ; false positive
 SG::DataBucket<T>::DataBucket(std::unique_ptr<U> data)
     // Rely on our caller to retain constness.
     // cppcheck 2.12 puts the identifier used for the argument here in the
diff --git a/Control/AthenaMonitoringKernel/src/HistogramFiller/HistogramFactory.cxx b/Control/AthenaMonitoringKernel/src/HistogramFiller/HistogramFactory.cxx
index eb007d84ce61c11c3719a5cfccb7ad493afcab8c..1496795aac53ac03345eea8d5b3f47b6aeab7a56 100644
--- a/Control/AthenaMonitoringKernel/src/HistogramFiller/HistogramFactory.cxx
+++ b/Control/AthenaMonitoringKernel/src/HistogramFiller/HistogramFactory.cxx
@@ -223,7 +223,6 @@ HBASE* HistogramFactory::create(const HistogramDef& def, Types&&... hargs) {
   { 
     std::scoped_lock<std::mutex> dirLock(globalROOTMutex());
     h = new H(def.alias.c_str(), def.title.c_str(), std::forward<Types>(hargs)...);
-    // cppcheck-suppress nullPointer; false positive
     h->SetDirectory(0);
   }
   if ( !m_histSvc->regHist( fullName, std::unique_ptr<TH1>(h) ) ) {
diff --git a/Control/AthenaServices/src/MixingEventSelector.cxx b/Control/AthenaServices/src/MixingEventSelector.cxx
index 8a5bf21eaab41cf1af035ca6a5a81d206ad3671d..9866db82357dba91e6dbc6cbac643140bcc9cab5 100644
--- a/Control/AthenaServices/src/MixingEventSelector.cxx
+++ b/Control/AthenaServices/src/MixingEventSelector.cxx
@@ -423,7 +423,6 @@ IEvtSelector::Context& MixingEventSelector::Trigger::currentContext() const {
       throw GaudiException("MixingEventSelector::Trigger::currentContext(): can't create context",
 			   name(),StatusCode::FAILURE);
   }
-  // cppcheck-suppress nullPointerRedundantCheck; false positive
   //  createContext() sets m_current
   return *m_current;
 }
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentHashmapImpl.icc b/Control/CxxUtils/CxxUtils/ConcurrentHashmapImpl.icc
index a34b3bfc41c5162cd889e3d4341247215ce660bc..c8ff77ad8282f00f79b81f977974c6457d614d9c 100644
--- a/Control/CxxUtils/CxxUtils/ConcurrentHashmapImpl.icc
+++ b/Control/CxxUtils/CxxUtils/ConcurrentHashmapImpl.icc
@@ -291,7 +291,6 @@ CHMIMPL::ConcurrentHashmapImpl (Updater_t&& updater,
   // Round up capacity to a power of 2.
   size_t capacity = round_up (capacity_in);
 
-  // cppcheck-suppress noDestructor // false positive
   m_table = new (capacity) Table (capacity, hasher, matcher);
   m_updater.update (std::unique_ptr<Table> (m_table), ctx);
 }
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
index 1a39969ad22f89079f72222b0f5bb379b2dc7db8..2b5430d82995655a88827f65c6e36b7aab480a32 100644
--- a/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
+++ b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
@@ -243,7 +243,6 @@ public:
   struct DeletePayload
   {
     /// Initialize with an explicit deletion function.
-    // cppcheck-suppress uninitMemberVar  // false positive
     DeletePayload (delete_function* delfcn)
       : m_delete (delfcn)
     {
@@ -256,7 +255,6 @@ public:
       delete reinterpret_cast<const U*>(p);
     }
     template <class U>
-    // cppcheck-suppress uninitMemberVar  // false positive
     DeletePayload (const std::default_delete<U>&)
     {
       m_delete = delfcn<U>;
diff --git a/Control/CxxUtils/CxxUtils/sincos.h b/Control/CxxUtils/CxxUtils/sincos.h
index e6ba0026b44134ff1c4488195064af2ff38c254e..b3c41f13389077f9057f9f0ae5cb856b8d0fc625 100644
--- a/Control/CxxUtils/CxxUtils/sincos.h
+++ b/Control/CxxUtils/CxxUtils/sincos.h
@@ -74,7 +74,6 @@ namespace CxxUtils {
  */
 struct sincos
 {
-  // cppcheck-suppress uninitMemberVar  ; false positive
   /// Calculate sine and cosine of x.
   sincos (double x)
 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
diff --git a/Control/CxxUtils/CxxUtils/span.icc b/Control/CxxUtils/CxxUtils/span.icc
index 0f37f8d17528e281600646eef4bd646365a6a5f9..2aa515fdf779c41aa7fe73feee68242c6b6e54e6 100644
--- a/Control/CxxUtils/CxxUtils/span.icc
+++ b/Control/CxxUtils/CxxUtils/span.icc
@@ -42,7 +42,6 @@ span<T>::span (U* ptr, size_type sz)
   : m_ptr (ptr),
     m_size (sz)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
@@ -63,7 +62,6 @@ span<T>::span (U* beg, U* end)
   : m_ptr (beg),
     m_size (end-beg)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/CxxUtils/Root/xxhash.h b/Control/CxxUtils/Root/xxhash.h
index 6b4729f8fd97cc2a34dc7edf01f2722e324da636..66fae435cea2c1298b040c78b0d70e33d24da55b 100644
--- a/Control/CxxUtils/Root/xxhash.h
+++ b/Control/CxxUtils/Root/xxhash.h
@@ -2531,15 +2531,10 @@ XXH_PUBLIC_API void XXH32_copyState(XXH32_state_t* dstState, const XXH32_state_t
 XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, XXH32_hash_t seed)
 {
     XXH_ASSERT(statePtr != NULL);
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     memset(statePtr, 0, sizeof(*statePtr));
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[0] = seed + XXH_PRIME32_1 + XXH_PRIME32_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[1] = seed + XXH_PRIME32_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[2] = seed + 0;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[3] = seed - XXH_PRIME32_1;
     return XXH_OK;
 }
@@ -2978,15 +2973,10 @@ XXH_PUBLIC_API void XXH64_copyState(XXH_NOESCAPE XXH64_state_t* dstState, const
 XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH_NOESCAPE XXH64_state_t* statePtr, XXH64_hash_t seed)
 {
     XXH_ASSERT(statePtr != NULL);
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     memset(statePtr, 0, sizeof(*statePtr));
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[0] = seed + XXH_PRIME64_1 + XXH_PRIME64_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[1] = seed + XXH_PRIME64_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[2] = seed + 0;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->v[3] = seed - XXH_PRIME64_1;
     return XXH_OK;
 }
@@ -3955,7 +3945,6 @@ XXH3_len_1to3_64b(const xxh_u8* input, size_t len, const xxh_u8* secret, XXH64_h
         xxh_u8  const c3 = input[len - 1];
         xxh_u32 const combined = ((xxh_u32)c1 << 16) | ((xxh_u32)c2  << 24)
                                | ((xxh_u32)c3 <<  0) | ((xxh_u32)len << 8);
-        // cppcheck-suppress nullPointerArithmeticRedundantCheck; false positive
         xxh_u64 const bitflip = (XXH_readLE32(secret) ^ XXH_readLE32(secret+4)) + seed;
         xxh_u64 const keyed = (xxh_u64)combined ^ bitflip;
         return XXH64_avalanche(keyed);
@@ -5513,29 +5502,17 @@ XXH3_reset_internal(XXH3_state_t* statePtr,
     XXH_ASSERT(offsetof(XXH3_state_t, nbStripesPerBlock) > initStart);
     XXH_ASSERT(statePtr != NULL);
     /* set members from bufferedSize to nbStripesPerBlock (excluded) to 0 */
-    // cppcheck-suppress nullPointerArithmeticRedundantCheck; false positive
     memset((char*)statePtr + initStart, 0, initLength);
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[0] = XXH_PRIME32_3;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[1] = XXH_PRIME64_1;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[2] = XXH_PRIME64_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[3] = XXH_PRIME64_3;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[4] = XXH_PRIME64_4;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[5] = XXH_PRIME32_2;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[6] = XXH_PRIME64_5;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->acc[7] = XXH_PRIME32_1;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->seed = seed;
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->useSeed = (seed != 0);
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     statePtr->extSecret = (const unsigned char*)secret;
     XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
     statePtr->secretLimit = secretSize - XXH_STRIPE_LEN;
@@ -5660,7 +5637,6 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state,
 
     XXH_ASSERT(state != NULL);
     {   const xxh_u8* const bEnd = input + len;
-        // cppcheck-suppress nullPointerRedundantCheck; false positive
         const unsigned char* const secret = (state->extSecret == NULL) ? state->customSecret : state->extSecret;
 #if defined(XXH3_STREAM_USE_STACK) && XXH3_STREAM_USE_STACK >= 1
         /* For some reason, gcc and MSVC seem to suffer greatly
@@ -5828,9 +5804,7 @@ XXH3_len_1to3_128b(const xxh_u8* input, size_t len, const xxh_u8* secret, XXH64_
         xxh_u32 const combinedl = ((xxh_u32)c1 <<16) | ((xxh_u32)c2 << 24)
                                 | ((xxh_u32)c3 << 0) | ((xxh_u32)len << 8);
         xxh_u32 const combinedh = XXH_rotl32(XXH_swap32(combinedl), 13);
-        // cppcheck-suppress nullPointerArithmeticRedundantCheck; false positive
         xxh_u64 const bitflipl = (XXH_readLE32(secret) ^ XXH_readLE32(secret+4)) + seed;
-        // cppcheck-suppress nullPointerArithmeticRedundantCheck; false positive
         xxh_u64 const bitfliph = (XXH_readLE32(secret+8) ^ XXH_readLE32(secret+12)) - seed;
         xxh_u64 const keyed_lo = (xxh_u64)combinedl ^ bitflipl;
         xxh_u64 const keyed_hi = (xxh_u64)combinedh ^ bitfliph;
@@ -6417,7 +6391,6 @@ XXH3_generateSecret_fromSeed(XXH_NOESCAPE void* secretBuffer, XXH64_hash_t seed)
     XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE];
     XXH3_initCustomSecret(secret, seed);
     XXH_ASSERT(secretBuffer != NULL);
-    // cppcheck-suppress nullPointerRedundantCheck; false positive
     memcpy(secretBuffer, secret, XXH_SECRET_DEFAULT_SIZE);
 }
 
diff --git a/Control/CxxUtils/test/vec_test_common.h b/Control/CxxUtils/test/vec_test_common.h
index 9d48cd1504d3b50e60fca672e22b0ffab28a2f30..77aca7e3df4d5c83142b39209c93eb6cbff5bb55 100644
--- a/Control/CxxUtils/test/vec_test_common.h
+++ b/Control/CxxUtils/test/vec_test_common.h
@@ -159,10 +159,8 @@ NO_SANITIZE_UNDEFINED(const VEC& v1)
   TEST(&, _);
   TEST(%, _);
   if (!std::is_signed_v<T>) {
-    // cppcheck-suppress compareBoolExpressionWithInt  // false positive
     TEST(<<, MOD);
   }
-  // cppcheck-suppress compareBoolExpressionWithInt  // false positive
   TEST(>>, MOD);
 
 #undef TEST
diff --git a/Control/StoreGate/StoreGate/ReadCondHandle.h b/Control/StoreGate/StoreGate/ReadCondHandle.h
index b563c05de28553270c89beebbdd61e543c1cfa2a..2534a65226864d291fd39038aa3e19880bf566db 100644
--- a/Control/StoreGate/StoreGate/ReadCondHandle.h
+++ b/Control/StoreGate/StoreGate/ReadCondHandle.h
@@ -95,7 +95,6 @@ namespace SG {
   ReadCondHandle<T>::ReadCondHandle(const SG::ReadCondHandleKey<T>& key):
   ReadCondHandle(key, Gaudi::Hive::currentContext())
   {
-    // cppcheck-suppress missingReturn; false positive
   }
 
   //---------------------------------------------------------------------------
diff --git a/Control/StoreGate/StoreGate/ReadHandle.icc b/Control/StoreGate/StoreGate/ReadHandle.icc
index 504d37a66ba9628a4574aef07e16c32b3d948a5d..815f3043e67ba22268a8a0cc1a0d6e3237a9fd18 100644
--- a/Control/StoreGate/StoreGate/ReadHandle.icc
+++ b/Control/StoreGate/StoreGate/ReadHandle.icc
@@ -278,7 +278,6 @@ inline
 ReadHandle<T>::ReadHandle (const VarHandleKey& key, const EventContext* ctx)
   : VarHandleBase (key, ctx)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Control/StoreGate/StoreGate/WriteHandle.icc b/Control/StoreGate/StoreGate/WriteHandle.icc
index 6e9a991aa189bd7c9e4f8b31ddedf81889f288db..6c612591b9c870a8b2c3263732a11a8dcc34f723 100644
--- a/Control/StoreGate/StoreGate/WriteHandle.icc
+++ b/Control/StoreGate/StoreGate/WriteHandle.icc
@@ -86,7 +86,6 @@ WriteHandle<T>::WriteHandle (const WriteHandleKey<T>& key,
                              const EventContext& ctx)
   : VarHandleBase (key, &ctx)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Database/IOVDbSvc/src/IOVDbFolder.h b/Database/IOVDbSvc/src/IOVDbFolder.h
index 112e365b7c87bb08bdf1c51a3d7f1ad2b6a3c12a..04a76401521e0331c9aa830e443f071dcd69a0ae 100644
--- a/Database/IOVDbSvc/src/IOVDbFolder.h
+++ b/Database/IOVDbSvc/src/IOVDbFolder.h
@@ -386,7 +386,6 @@ inline const IOVRange& IOVDbFolder::currentRange() const { return m_currange; }
 
 inline bool IOVDbFolder::cacheValid(const cool::ValidityKey reftime) const {
   const auto & [cacheStart, cacheStop]=m_iovs.getCacheBounds();
-  // cppcheck-suppress incorrectLogicOperator; cppcheck 2.6 false positive: it doesn't understand destructuring
   return ((reftime>cacheStart) and (reftime<cacheStop));
 }
 
diff --git a/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx b/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx
index c761a43f0ecf7babad8c972b10ae13ecbfd3141f..07e06ec3aa93b754ca3f2837bbf5daced18e0f8b 100644
--- a/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx
+++ b/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx
@@ -49,7 +49,6 @@ namespace xAOD::BTaggingUtilities {
    const ElementLink< xAOD::BTaggingContainer >&
    getBTaggingLink( const SG::AuxElement& part ) {
 
-     // cppcheck-suppress returnTempReference; false positive
      return DEFAULT_ACC( part );
    }
 
diff --git a/Event/xAOD/xAODJet/xAODJet/JetAccessors.h b/Event/xAOD/xAODJet/xAODJet/JetAccessors.h
index 6e972807c028e95da2fe91468b3ac10c861c1abb..5b6de5dcccf0a6adf9f450bdb88e3beaf6e44109 100644
--- a/Event/xAOD/xAODJet/xAODJet/JetAccessors.h
+++ b/Event/xAOD/xAODJet/xAODJet/JetAccessors.h
@@ -282,7 +282,6 @@ namespace xAOD {
       bool isAvailable(const SG::AuxElement& p) const { return m_a.isAvailable(p);}
 
       // // forward calls to internal accessor. useful for performance critical code.
-      // cppcheck-suppress CastIntegerToAddressAtReturn // false positive
       const TYPE* operator()  (const SG::AuxElement& p)  const  { return getAttribute(p); }
       // TYPE& operator()(SG::AuxElement& p)  { LinkType &el=m_a(p); return *el;}
 
diff --git a/Generators/GeneratorFilters/src/BSignalFilter.cxx b/Generators/GeneratorFilters/src/BSignalFilter.cxx
index 98c181a02ae4e956f06cb15b00711370f0ff28b3..88ea04a9c8cc85650401496ad586943ed92e0337 100644
--- a/Generators/GeneratorFilters/src/BSignalFilter.cxx
+++ b/Generators/GeneratorFilters/src/BSignalFilter.cxx
@@ -230,7 +230,6 @@ StatusCode BSignalFilter::filterEvent()
 		  ATH_MSG_DEBUG(" *** BSignalFilter.cxx: B-signal found ***  ");
 		  ATH_MSG_DEBUG(" ------------------------------------------ ");
 		  ATH_MSG_DEBUG("");
-                  // cppcheck-suppress shiftNegative; false positive
 		  ATH_MSG_DEBUG(" Event " << m_EventCnt << " --> B-hadron/B-meson (" << HadronName << ") " << part);
 		  ATH_MSG_DEBUG("");
 
diff --git a/Generators/GeneratorFilters/src/TTbarWToLeptonFilter.cxx b/Generators/GeneratorFilters/src/TTbarWToLeptonFilter.cxx
index dacd166811d2cc525acd9f0aa5abfe3dca67b7a5..9053689b4b7d822d10318c583234a900dd6b2a4d 100644
--- a/Generators/GeneratorFilters/src/TTbarWToLeptonFilter.cxx
+++ b/Generators/GeneratorFilters/src/TTbarWToLeptonFilter.cxx
@@ -156,7 +156,6 @@ StatusCode TTbarWToLeptonFilter::filterEvent() {
       HepMC::GenParticle * grandchild_mcpart = (*grandchild_mcpartItr);
 		  int grandchild_pid = grandchild_mcpart->pdg_id();
 
-                  // cppcheck-suppress shiftNegative; false positive!
 		  ATH_MSG_DEBUG("W (t/tbar) has " << mcpart_n_particles_out << " children and the pdg_id of the next is " << grandchild_pid);
 
 		  // Check if the W's child is W again. If yes, then move to its next decay vertex in a decay tree
diff --git a/Generators/GeneratorFilters/src/xAODBSignalFilter.cxx b/Generators/GeneratorFilters/src/xAODBSignalFilter.cxx
index e57608c8851fb2631f3da5c8f0525f96c839d9db..4f7fe7ec509e71442ac966283e443d20d1a63f8f 100644
--- a/Generators/GeneratorFilters/src/xAODBSignalFilter.cxx
+++ b/Generators/GeneratorFilters/src/xAODBSignalFilter.cxx
@@ -243,7 +243,6 @@ if (LVL1Passed && (m_localLVL2MuonCutOn || m_localLVL2ElectronCutOn))
                     ATH_MSG_DEBUG(" *** xAODBSignalFilter.cxx: B-signal found ***  ");
                     ATH_MSG_DEBUG(" ------------------------------------------ ");
                     ATH_MSG_DEBUG("");
-                    // cppcheck-suppress shiftNegative; false positive
                     ATH_MSG_DEBUG(" Event " << m_EventCnt << " --> B-hadron/B-meson (" << HadronName << ") " << part);
                     ATH_MSG_DEBUG("");
 
diff --git a/HighGranularityTimingDetector/HGTD_DetDescr/HGTD_GeoModel/src/HGTD_DetectorFactory.cxx b/HighGranularityTimingDetector/HGTD_DetDescr/HGTD_GeoModel/src/HGTD_DetectorFactory.cxx
index e3a82a9bb8b100f110d465f3971de80079b7963a..123399269a562ca6a437c7c96193881fc1a9ba69 100644
--- a/HighGranularityTimingDetector/HGTD_DetDescr/HGTD_GeoModel/src/HGTD_DetectorFactory.cxx
+++ b/HighGranularityTimingDetector/HGTD_DetDescr/HGTD_GeoModel/src/HGTD_DetectorFactory.cxx
@@ -1117,7 +1117,6 @@ std::vector<ModulePosition> HGTD_DetectorFactory::prepareModulePositionsInRowTwo
         }
         // the rest of the modules follow sequential, radius-dependent placement rules
         else {
-            // cppcheck-suppress containerOutOfBounds; false positive
             ModulePosition prev = modulePositions.back();
             double spacing = m_hgtdPars.moduleSpaceInner;
             // if the previous module was completely outside rMid, increase the spacing
diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/Macro/PlotCs.C b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/Macro/PlotCs.C
index c96f9d924265e77500004f6685130a632efde5ad..9f410ca6af6b70d9642b99e9240270a09d711165 100644
--- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/Macro/PlotCs.C
+++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/Macro/PlotCs.C
@@ -105,7 +105,6 @@ for(int iCS = 0; iCS < maxcs; iCS++){
 	if(sum) index = maxcs-1-iCS;
 	int color = index+2;
 	if(color == 10) color = 1;
-        // cppcheck-suppress arrayIndexOutOfBoundsCond; false positive
 	TH1F *swap = histo[index];
 	if(sum) swap->Scale(1/first->GetEntries());
 	swap->Draw(options.c_str());
diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/RadDamage/HamburgModel/data_processing.cpp b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/RadDamage/HamburgModel/data_processing.cpp
index 53d5d6abd20bfa7d6f26a77471a833a1f12ded9e..280987ac60472ba60222216cd25b7d9006f489ff 100644
--- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/RadDamage/HamburgModel/data_processing.cpp
+++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/RadDamage/HamburgModel/data_processing.cpp
@@ -554,7 +554,6 @@ get_Profile(const string & filename)                                 // reads in
 
             if(input_file.eof())break;                          	// if end of file is reached: break the loop
 
-            // cppcheck-suppress constStatement; false positve
             limit_file_size_input--;
             if(limit_file_size_input==0)break;
         }
diff --git a/InnerDetector/InDetRecEvent/SiSpacePoint/src/SCT_SpacePoint.cxx b/InnerDetector/InDetRecEvent/SiSpacePoint/src/SCT_SpacePoint.cxx
index 72fc65f9c5454e60417e510d8ad51bd3bb619f70..8f245c6632d60bbd614a58715d76af868996cdf4 100755
--- a/InnerDetector/InDetRecEvent/SiSpacePoint/src/SCT_SpacePoint.cxx
+++ b/InnerDetector/InDetRecEvent/SiSpacePoint/src/SCT_SpacePoint.cxx
@@ -59,7 +59,6 @@ void SCT_SpacePoint::setupLocalCovarianceSCT() {
   constexpr double elem11 = 1600. * deltaY;
   Amg::MatrixX cov(2, 2);
   cov << deltaY, offdiag,
-      // cppcheck-suppress constStatement; false positive
       offdiag, elem11;
 
   Trk::MeasurementBase::m_localCovariance = std::move(cov);
diff --git a/LArCalorimeter/LArCalibTools/src/LArOFCBinAlg.cxx b/LArCalorimeter/LArCalibTools/src/LArOFCBinAlg.cxx
index 5ab0545e301663fc8df2ef7c4f40376bf1d495ec..bf6052c43ee5c4c82c7b7a0b0c03e32cf191d0a6 100644
--- a/LArCalorimeter/LArCalibTools/src/LArOFCBinAlg.cxx
+++ b/LArCalorimeter/LArCalibTools/src/LArOFCBinAlg.cxx
@@ -74,7 +74,6 @@ StatusCode LArOFCBinAlg::execute() {
     unsigned chidint;
     float offset[3];
        rein >> std::hex>>chidint >>std::dec>> offset[0] >>offset[1] >>offset[2];
-       // cppcheck-suppress identicalInnerCondition; false positive
        if(rein.good()){
           const HWIdentifier fid(chidint);
           for(unsigned i=0; i<3; ++i) offsetMap[i][fid]=offset[i];
diff --git a/LArCalorimeter/LArG4/LArG4EC/src/HVHelper.cc b/LArCalorimeter/LArG4/LArG4EC/src/HVHelper.cc
index d110d670a5291a0af29e21c61f58cf58e34363d3..b8f473bd0fa49ce5a76372c86ddf191910277cd0 100644
--- a/LArCalorimeter/LArG4/LArG4EC/src/HVHelper.cc
+++ b/LArCalorimeter/LArG4/LArG4EC/src/HVHelper.cc
@@ -71,7 +71,6 @@ FILE * HVHelper::OpenFileAndCheckVersion(const G4String &version)
 
     const size_t buf_size = 80;
     char buf[buf_size] = { 0 };
-    // cppcheck-suppress nullPointerRedundantCheck; false positive: G4Exception doesn't return
     fgets(buf, buf_size, F);
     char *v = buf + 9;
     if(version == "v02" || version == "v99") v ++;
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
index d6fa8793118980b5fc69ccaee19182cb099381be..ed9f3d80858c9d5fe17eca03a2c5847a75794e36 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
@@ -146,7 +146,6 @@ const EMECHVManager& EMECDetectorManager::getHVManager (EMECHVManager::IOType io
       m_HVManager[io].set (&(manager->getEMECHVManager(io)));
     }
   }
-  // cppcheck-suppress nullPointerRedundantCheck; false positive
   return *(m_HVManager[io].get());
 }
 
@@ -159,6 +158,5 @@ const EMECPresamplerHVManager& EMECDetectorManager::getPresamplerHVManager () co
       m_presamplerHVManager.set (&(manager->getEMECPresamplerHVManager()));
     }
   }
-  // cppcheck-suppress nullPointerRedundantCheck; false positive
   return *m_presamplerHVManager.get();
 }
diff --git a/MuonSpectrometer/MuonCablings/MuonTGC_Cabling/src/TGCDatabaseASDToPP.cxx b/MuonSpectrometer/MuonCablings/MuonTGC_Cabling/src/TGCDatabaseASDToPP.cxx
index 33c47dcfbf3917c3c9042821db5a757d69323273..09c2a0132e1f83ba16aee16fe5f3d00f570a0693 100644
--- a/MuonSpectrometer/MuonCablings/MuonTGC_Cabling/src/TGCDatabaseASDToPP.cxx
+++ b/MuonSpectrometer/MuonCablings/MuonTGC_Cabling/src/TGCDatabaseASDToPP.cxx
@@ -280,7 +280,6 @@ void TGCDatabaseASDToPP::makeIndexDBIn(void)
 
 int TGCDatabaseASDToPP::convertIndexDBIn(int* indexIn) const
 {
-  // cppcheck-suppress uninitvar; false positive
   int converted = indexIn[0]-m_minIndexIn[0];
   for(int iIndexIn=1; iIndexIn<NIndexIn; iIndexIn++) {
     converted *= (m_maxIndexIn[iIndexIn]-m_minIndexIn[iIndexIn]+1);
@@ -311,7 +310,6 @@ void TGCDatabaseASDToPP::makeIndexDBOut(void)
 
 int TGCDatabaseASDToPP::convertIndexDBOut(int* indexOut) const
 {
-  // cppcheck-suppress uninitvar; false positive
   int converted = indexOut[0]-m_minIndexOut[0];
   for(int iIndexOut=1; iIndexOut<NIndexOut; iIndexOut++) {
     converted *= (m_maxIndexOut[iIndexOut]-m_minIndexOut[iIndexOut]+1);
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo.h b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo.h
index c6bae9f7fecd0cf82f9471e00c4bcb9749a01180..258ce3ffa9f3a9a8ef55df6fa76152f36382ddf9 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo.h
@@ -225,7 +225,6 @@ public:
     // ??? This overrides DataVector::clear() with something that
     //     does something different.  Should probably be called
     //     something else.
-    // cppcheck-suppress duplInheritedMember  ; false positive
     void clear();
 
     // online ID calculator
diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonCombinePatternTools/src/MuonCombinePatternTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonCombinePatternTools/src/MuonCombinePatternTool.cxx
index ba82f2908305349595e1e86acf46ea3776314162..79c3fcd54e83dee148e08355850d1934a75b99b7 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonCombinePatternTools/src/MuonCombinePatternTool.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonCombinePatternTools/src/MuonCombinePatternTool.cxx
@@ -1666,7 +1666,6 @@ void MuonCombinePatternTool::cleanCandidates(std::vector<CandidatePatPair>& cand
         }
         hitsMap.insert(std::make_pair((*it1), std::make_pair(etahits, phihits)));
     }
-    // cppcheck-suppress invalidContainer; false positive
     for (it1 = candidates.begin(); it1 != candidates.end(); ++it1) {
         std::pair<PrepDataSet, PrepDataSet>& hits1 = hitsMap[(*it1)];
         it2 = it1 + 1;
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataCollection.icc b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataCollection.icc
index c1f00351e3581b91fd3aeee38021bbf43c9118f7..ef616c72df81cba93342f1febb6fe768bbe84c45 100755
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataCollection.icc
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataCollection.icc
@@ -18,7 +18,6 @@ MuonPrepDataCollection< PrepDataT >::MuonPrepDataCollection(const
   Identifiable(),
   m_idHash(idHash),
   m_id()
-  // cppcheck-suppress missingReturn; false positive
 {}
 
 template< class PrepDataT >
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataContainer.icc b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataContainer.icc
index 925e5be8a81a4b93eb8eab3ed5e3dfde853b7205..f16b327c5c6081882669d286dee45f56381214a1 100755
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataContainer.icc
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonPrepDataContainer.icc
@@ -18,5 +18,4 @@ template< class CollectionT>
 // Constructor with IdentifiableCache:
 MuonPrepDataContainer<CollectionT>::MuonPrepDataContainer(EventContainers::IdentifiableCache<CollectionT> * cache):
   IdentifiableContainer<CollectionT>(cache)
-  // cppcheck-suppress missingReturn; false positive
 {}
diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx
index 4558f5a35ba26ba02ee6c316921671a15d129186..b834adffb5cc3742ac321e9be0eec9b8e771578a 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx
@@ -154,7 +154,6 @@ namespace Muon {
         // loop over hits
         bool is_first_meas = true;
         for (const Trk::MeasurementBase* meas : measurements) {
-            // cppcheck-suppress invalidLifetime; false positive
             Identifier id = m_edmHelperSvc->getIdentifier(*meas);
             if (!id.is_valid()) {
                 fakePhiHits.push_back(meas);
@@ -241,25 +240,20 @@ namespace Muon {
                 // if selected create competing ROTs for trigger hits
                 if (createComp && (isRpc || isTgc)) {
                     if (measuresPhi && m_createCompetingROTsPhi) {
-                        // cppcheck-suppress invalidLifetime; false positive
                         addCluster(*meas, triggerHitsPhi);
                         continue;
                     } else if (!measuresPhi && m_createCompetingROTsEta) {
-                        // cppcheck-suppress invalidLifetime; false positive
                         addCluster(*meas, triggerHitsEta);
                         continue;
                     }
                 }
             }
 
-            // cppcheck-suppress invalidLifetime; false positive
             allHits.push_back(meas);
 
             if (measuresPhi) {
-                // cppcheck-suppress invalidLifetime; false positive
                 phiHits.push_back(meas);
             } else {
-                // cppcheck-suppress invalidLifetime; false positive
                 etaHits.push_back(meas);
             }
         }
diff --git a/MuonSpectrometer/MuonValidation/MuonTesterTree/MuonTesterTree/VectorBranch.icc b/MuonSpectrometer/MuonValidation/MuonTesterTree/MuonTesterTree/VectorBranch.icc
index 89b7c78cfe37f1e393801950576e563e79833946..792f6691b3c22f3a6826533b7bf029d29f26b134 100644
--- a/MuonSpectrometer/MuonValidation/MuonTesterTree/MuonTesterTree/VectorBranch.icc
+++ b/MuonSpectrometer/MuonValidation/MuonTesterTree/MuonTesterTree/VectorBranch.icc
@@ -8,7 +8,6 @@
 namespace MuonVal {
 template <class T> VectorBranch<T>::VectorBranch(TTree* tree, const std::string& name) : MuonTesterBranch(tree, name) {}
 
-// cppcheck-suppress missingReturn; false positive
 template <class T> VectorBranch<T>::VectorBranch(MuonTesterTree& tree, const std::string& name) : MuonTesterBranch(tree, name) {}
 template <class T> VectorBranch<T>::VectorBranch(TTree* tree, const std::string& name, const T& def) : VectorBranch<T>(tree, name) {
     VectorBranch<T>::setDefault(def);
diff --git a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/AsgAnalysisAlgorithms/SystObjectUnioniserAlg.icc b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/AsgAnalysisAlgorithms/SystObjectUnioniserAlg.icc
index 79ffb723d66917d34292f65dc3923d09af6e0b21..35daa00cd65357003fad2f4174fa2c179e452bbf 100644
--- a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/AsgAnalysisAlgorithms/SystObjectUnioniserAlg.icc
+++ b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/AsgAnalysisAlgorithms/SystObjectUnioniserAlg.icc
@@ -18,7 +18,6 @@ namespace CP
       : EL::AnaReentrantAlgorithm(name, pSvcLocator)
   {
 
-    // cppcheck-suppress missingReturn; false positive
   }
 
   template<class T, class C>
diff --git a/PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/ParsingInternals.h b/PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/ParsingInternals.h
index fdb676daa1fcddc91f17b0f45d35a51e6acbb5be..4ee8fbdb2045b477e88abe191ba68a668bd1ea75 100644
--- a/PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/ParsingInternals.h
+++ b/PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/ParsingInternals.h
@@ -290,7 +290,6 @@ namespace ExpressionParsing
 
 
       primary_expr =
-        // cppcheck-suppress compareBoolExpressionWithInt; false positive
         ('(' > expression > ')')
         |   (uint_ >> !char_('.')) | double_ | bool_ | identifier 
         ;
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerTool.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerTool.icc
index 47e07602e900242079c5993d24609199596f9ae8..c0a3ff641702184032fc7386f4467a2f85bcb6a3 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerTool.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerTool.icc
@@ -24,7 +24,6 @@ BlockFillerTool<T>::BlockFillerTool (const std::string& type,
                                      const IInterface* parent)
   : BlockFillerToolImpl (type, name, parent)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerToolMulti.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerToolMulti.icc
index d32f9f8212c781a6e6554bedae2d07b6ab188566..e3d7f3480376d5f688eefb576e207e90e5fc3a1e 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerToolMulti.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/BlockFillerToolMulti.icc
@@ -32,7 +32,6 @@ BlockFillerTool<Types<T0> >::BlockFillerTool
   : BlockFillerToolImpl (type, name, parent),
     m_which (0)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/CollectionGetterTool.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/CollectionGetterTool.icc
index 5196636fddadd79cd2e47d7c85dce99d476a2e2e..464a538ff964722f311115a62c6c01686301bd4b 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/CollectionGetterTool.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/CollectionGetterTool.icc
@@ -80,7 +80,6 @@ CollectionGetterTool<CONT>::CollectionGetterTool (const std::string& type,
                                                   const IInterface* parent)
   : CollectionGetterToolImpl (type, name, parent)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationTool.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationTool.icc
index 05a69f5b8853da674edf58455455a6a16266b266..573d3bf3b5fa4bb520d84431f0883d9eb6eebfa0 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationTool.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationTool.icc
@@ -25,7 +25,6 @@ MultiAssociationToolTo<TO_T>::MultiAssociationToolTo
    const IInterface* parent)
     : MultiAssociationToolImpl (type, name, parent)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
@@ -103,7 +102,6 @@ MultiAssociationTool<FROM_T, TO_T>::MultiAssociationTool
    const IInterface* parent)
     : MultiAssociationToolTo<TO_T> (type, name, parent)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationToolMulti.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationToolMulti.icc
index c9c9c02ab2ef368ba46f0ec793d0c8319c495db9..7afa44bb9c945a60254760ad0100803f221afefc 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationToolMulti.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/MultiAssociationToolMulti.icc
@@ -175,7 +175,6 @@ MultiAssociationTool<Types<T0>, Types<U0> >::MultiAssociationTool
    const IInterface* parent)
     : MultiAssociationTool<Types<T0>, U0> (type, name, parent)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/SGCollectionGetterTool.icc b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/SGCollectionGetterTool.icc
index 08b1517efac309e38600d651a9c179b072fa3321..df4d91e56b457e8d74dc01ef38f578e4575e2da1 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/SGCollectionGetterTool.icc
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/SGCollectionGetterTool.icc
@@ -33,7 +33,6 @@ SGCollectionGetterTool<CONT>::SGCollectionGetterTool
   {
     REPORT_MESSAGE (MSG::ERROR) << "Can't set TypeName property for tool "
                                 << type << "/" << name;
-    // cppcheck-suppress missingReturn; false positive
   }
 }
 
diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/src/VectorFillerToolBase.cxx b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/src/VectorFillerToolBase.cxx
index 5a73a75dd8632928b84d84c6a46cc8c6edd1a784..63b4709350780c843372cddc2277a11093c1c268 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/src/VectorFillerToolBase.cxx
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/src/VectorFillerToolBase.cxx
@@ -481,7 +481,6 @@ StatusCode VectorFillerToolBase::Var::init (IAddVariable* tree,
   m_contptr = 0;
   return tree->addVariable (prefix + m_name,
                             *m_proxy->GetCollectionClass()->GetTypeInfo(),
-                            // cppcheck-suppress nullPointer; false positive
                             m_contptr,
                             m_docstring);
 }
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkBPhys/src/BVertexClosestTrackTool.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkBPhys/src/BVertexClosestTrackTool.cxx
index 951ab5bf5db6c98a75c63f29de9372794e5002f6..82668a879c837c7d32ad73507483e95b7770a9ec 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkBPhys/src/BVertexClosestTrackTool.cxx
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkBPhys/src/BVertexClosestTrackTool.cxx
@@ -231,7 +231,6 @@ namespace DerivationFramework {
       } // for i
     } else {
       std::string f5 = std::format("Mismatch: nTracks: {} nVtap: {} nSelpat: {}\n",tracks.size(), vtap.size(), selpat.size());
-      // cppcheck-suppress ignoredReturnValue; false positive
       rstr.append(f5);
     } // if sizes
 
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BacklinkAlg.icc b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BacklinkAlg.icc
index 44c38c686a1051bfa874bec92a67c8365baa1767..6b65e2fef53f1fcfab941d87583608bde2587df2 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BacklinkAlg.icc
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BacklinkAlg.icc
@@ -18,7 +18,6 @@ namespace FlavorTagDiscriminants {
     const std::string& name, ISvcLocator* svcloc):
     AthReentrantAlgorithm(name, svcloc)
   {
-    // cppcheck-suppress missingReturn; false positive
   }
 
 
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DecoratorAlg.icc b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DecoratorAlg.icc
index 1a98e4fc0c29d883806839851a65f2a55bbb6a6d..062a51b9cde3c65b747ca58929e4d815ef8393c7 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DecoratorAlg.icc
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DecoratorAlg.icc
@@ -13,7 +13,6 @@ namespace FlavorTagDiscriminants {
     const std::string& name, ISvcLocator* svcloc):
     AthReentrantAlgorithm(name, svcloc)
   {
-    // cppcheck-suppress missingReturn; false positive
   }
 
   template <typename C, typename D, typename N>
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/LinkCounterAlg.icc b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/LinkCounterAlg.icc
index c74538066f88da5aaad3ac020f801dd968cc0f42..a0d9339d35192f1cd341c02f5fef399221827c67 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/LinkCounterAlg.icc
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/LinkCounterAlg.icc
@@ -16,7 +16,6 @@ namespace FlavorTagDiscriminants {
     const std::string& name, ISvcLocator* svcloc):
     AthReentrantAlgorithm(name, svcloc)
   {
-    // cppcheck-suppress missingReturn; false positive
   }
 
   template <typename T, typename C>
diff --git a/Reconstruction/RecoEvent/ParticleCaloExtension/ParticleCaloExtension/ParticleCaloAssociation.h b/Reconstruction/RecoEvent/ParticleCaloExtension/ParticleCaloExtension/ParticleCaloAssociation.h
index 78c22b472960803b38b716c1dd1aa76853a44e10..cac988de84fd297a17743e3b296f9cc98dfa64d9 100644
--- a/Reconstruction/RecoEvent/ParticleCaloExtension/ParticleCaloExtension/ParticleCaloAssociation.h
+++ b/Reconstruction/RecoEvent/ParticleCaloExtension/ParticleCaloExtension/ParticleCaloAssociation.h
@@ -91,7 +91,6 @@ namespace Rec {
     m_data(data),
     m_associationConeSize(coneSize) {
 
-    // cppcheck-suppress missingReturn; false positive
   }
 
 
diff --git a/Simulation/G4Extensions/Monopole/src/G4mplEquationSetup.cxx b/Simulation/G4Extensions/Monopole/src/G4mplEquationSetup.cxx
index 1a00c7d421e2e7c12d51d3b7bde83ff3184675ad..9eb220eb26935c431d35f576709fee99ee527424 100644
--- a/Simulation/G4Extensions/Monopole/src/G4mplEquationSetup.cxx
+++ b/Simulation/G4Extensions/Monopole/src/G4mplEquationSetup.cxx
@@ -208,7 +208,6 @@ G4mplEquationSetup::CreateStepperToChordFinder(G4MagneticField* magFieldNC)
   delete fMonopoleChordFinder;
 
   auto integrDriver = new G4MagInt_Driver( fMinStep, fMonopoleStepper,
-                                           // cppcheck-suppress nullPointerRedundantCheck; false positive
                                            fMonopoleStepper->GetNumberOfVariables() );
   fMonopoleChordFinder = new G4ChordFinder( integrDriver );
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
index 73fd632b612cb10b3130111ed4cb342ce89e291f..ab4fa455ee6ecd1cb82c01236c3fa979c51ae10c 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
@@ -59,7 +59,6 @@ class CaloGeometry : virtual public ICaloGeometry {
     double rpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
     double zpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
     double rzpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
-    // cppcheck-suppress negativeContainerIndex; false positive
     bool   isCaloBarrel(int sample) const {return m_isCaloBarrel[sample];};
     static std::string SamplingName(int sample);
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/Identifier/Identifier.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/Identifier/Identifier.h
index 85ab28e25cf00fe46952db9e0ce03b4e61c19fd3..032c0990060fe4ac45816297dfa384d6baea8169 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/Identifier/Identifier.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/Identifier/Identifier.h
@@ -35,7 +35,6 @@ class Identifier
   
   operator value_type() const { return m_id; }
 
-  // cppcheck-suppress operatorEqVarError; false positive
   Identifier& operator = (const Identifier& old) {m_id=old;return (*this);};
   Identifier& operator = (value_type value) {m_id=value;return (*this);};
   bool operator == (const Identifier& other) const {return (m_id == other.m_id);}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/DNNCaloSimSvc.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/DNNCaloSimSvc.cxx
index 640af1059f9cc555a215ea333377193b9c8574d5..f0150e3437ea40a9e16d345e64bea999a1bb0daa 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/DNNCaloSimSvc.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/DNNCaloSimSvc.cxx
@@ -100,7 +100,6 @@ StatusCode ISF::DNNCaloSimSvc::initialize()
   const FCALDetectorManager * fcalManager=nullptr;
   ATH_CHECK(detStore()->retrieve(fcalManager));
 
-  // cppcheck-suppress nullPointerRedundantCheck; false positive
   const CaloIdManager* caloId_mgr = m_caloDetDescrManager->getCalo_Mgr();
   m_emID = caloId_mgr->getEM_ID();
   
diff --git a/Simulation/Tools/AtlasCLHEP_RandomGenerators/src/dSFMTEngine.cxx b/Simulation/Tools/AtlasCLHEP_RandomGenerators/src/dSFMTEngine.cxx
index e7a35a4409a1bad2696d733a51183b2e42cab8b0..ea177d24347c61f193ee310709b4abadee3ee340 100755
--- a/Simulation/Tools/AtlasCLHEP_RandomGenerators/src/dSFMTEngine.cxx
+++ b/Simulation/Tools/AtlasCLHEP_RandomGenerators/src/dSFMTEngine.cxx
@@ -148,7 +148,6 @@ void dSFMTEngine::setSeeds(const long *seeds, int) {
       buf[i]=seeds[i];
       ++i;
     }
-    // cppcheck-suppress uninitvar; false positive
     int dum ATLAS_THREAD_SAFE [[maybe_unused]] = wrap_init_by_array(m_dsfmt,buf,i);
   } else {
     setSeed(1234567);
diff --git a/TileCalorimeter/TileMonitoring/team5/TileCosmicView/TileGeoBuild.C b/TileCalorimeter/TileMonitoring/team5/TileCosmicView/TileGeoBuild.C
index 875737b276739d424c11cfb1a13b21166c449c67..4c861541241328ab1527d79c49b416d5fab8c19b 100644
--- a/TileCalorimeter/TileMonitoring/team5/TileCosmicView/TileGeoBuild.C
+++ b/TileCalorimeter/TileMonitoring/team5/TileCosmicView/TileGeoBuild.C
@@ -496,7 +496,6 @@ grTileCal::grTileCal(): grTileBase()
 		pcon->DefineSection(0, sector_tz[3]-sector_dz[3],2290,3850.0);
 
 	if (EBA_LBA > 0)
-                // cppcheck-suppress arrayIndexOutOfBoundsCond; false positive
 		pcon->DefineSection(1, sector_tz[0]+sector_dz[0],2290,3850.0);
 	else
 		pcon->DefineSection(1, sector_tz[2]+sector_dz[2],2290,3850.0);
diff --git a/Tracking/Acts/ActsTrackReconstruction/src/detail/OnTrackCalibrator.icc b/Tracking/Acts/ActsTrackReconstruction/src/detail/OnTrackCalibrator.icc
index 1f5d3c4b2c2424b9723aa109d6d6acfbe83b619d..95eeb181d09e7e03983d723c19823b90e7a8ca66 100644
--- a/Tracking/Acts/ActsTrackReconstruction/src/detail/OnTrackCalibrator.icc
+++ b/Tracking/Acts/ActsTrackReconstruction/src/detail/OnTrackCalibrator.icc
@@ -31,7 +31,6 @@ namespace ActsTrk::detail {
     if (stripTool.isEnabled()) {
       stripTool->connect(*this);
     } else {
-      // cppcheck-suppress missingReturn; false positive
       stripCalibrator.template connect<&OnTrackCalibrator<traj_t>::passthrough<1, xAOD::StripCluster>>(this);
     }
   }
diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersBase.icc b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersBase.icc
index b47165a95b3219e3dc2591fdcca35990cd67d486..7718af954b4d28ad1ab28d3c41f8e44153a47813 100644
--- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersBase.icc
+++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersBase.icc
@@ -30,14 +30,12 @@ template <int DIM, class T>
 ParametersBase<DIM, T>::ParametersBase(
     const AmgVector(DIM) parameters,
     std::optional<AmgSymMatrix(DIM)>&& covariance, const T chargeDef)
-    // cppcheck-suppress missingReturn; false positive
     : ParametersCommon<DIM, T>(parameters, std::move(covariance), chargeDef) {}
 
 // Helper protected ctor
 template <int DIM, class T>
 ParametersBase<DIM, T>::ParametersBase(
     std::optional<AmgSymMatrix(DIM)>&& covariance)
-    // cppcheck-suppress missingReturn; false positive
     : ParametersCommon<DIM, T>(std::move(covariance)) {}
 
 // Protected Constructor with local arguments - persistency only
diff --git a/Tracking/TrkEvent/TrkParametersIdentificationHelpers/exe/TestTrkParametersIdentificationHelpers.cxx b/Tracking/TrkEvent/TrkParametersIdentificationHelpers/exe/TestTrkParametersIdentificationHelpers.cxx
index 16cd6b868e2fc908d42dbb58f8a0476ad7e5d4da..31aa8111d47468ad13d7f12ead48d2e0d64939f0 100644
--- a/Tracking/TrkEvent/TrkParametersIdentificationHelpers/exe/TestTrkParametersIdentificationHelpers.cxx
+++ b/Tracking/TrkEvent/TrkParametersIdentificationHelpers/exe/TestTrkParametersIdentificationHelpers.cxx
@@ -41,7 +41,6 @@ void testCalo() {
       
       for( unsigned int isEntry = 0; isEntry < 2 ; ++isEntry ){
         bool entry = isEntry == 1;
-        // cppcheck-suppress uninitvar; false positive
         TrackParametersIdentifier id = helper.encode( static_cast<AtlasDetDescr::AtlasDetTechnology>(tech), 
                                                       static_cast<CaloSampling::CaloSample>(sample), entry );
         AtlasDetDescr::AtlasDetTechnology itech = helper.technology(id);
diff --git a/Tracking/TrkEvent/TrkPrepRawData/TrkPrepRawData/PrepRawDataContainer.icc b/Tracking/TrkEvent/TrkPrepRawData/TrkPrepRawData/PrepRawDataContainer.icc
index 4275647d39249b76a1f0e581ea6d21f0ec0d4f77..acf9aaf3f2b683de5b839e7fa5fcebd09f54b6fe 100755
--- a/Tracking/TrkEvent/TrkPrepRawData/TrkPrepRawData/PrepRawDataContainer.icc
+++ b/Tracking/TrkEvent/TrkPrepRawData/TrkPrepRawData/PrepRawDataContainer.icc
@@ -40,7 +40,6 @@ template< class CollectionT>
 PrepRawDataContainer< CollectionT>::PrepRawDataContainer(EventContainers::IdentifiableCache<CollectionT>* cache) :
 	IdentifiableContainer<CollectionT>(cache)
 {
-  // cppcheck-suppress missingReturn; false positive
 }
 
 
diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
index 9e79fa3e9aed7e19ecb8029f7145422e6e329f4d..2707dd0b4e3cdd83a2af5c20c0a3854992df999d 100644
--- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
+++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
@@ -1737,7 +1737,6 @@ namespace Trk {
           errors[1] = 10;
 
           pseudostate2->setMeasurementErrors(errors);
-          // cppcheck-suppress invalidLifetime; false positive
           outlierstates2.push_back(pseudostate2.get());
           trajectory.addMeasurementState(std::move(pseudostate2));
         }
@@ -5095,7 +5094,6 @@ namespace Trk {
     if (cache.m_fittercode != FitterStatusCode::Success) {
       ATH_MSG_DEBUG("Silicon cleaner failed, returning null...");
       if (finaltrajectory != &trajectory) {
-        // cppcheck-suppress autovarInvalidDeallocation; false positive
         delete finaltrajectory;
       }
       return nullptr;
diff --git a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TargetBuffer_t.h b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TargetBuffer_t.h
index 6db5635740326b5a4e4a6329717d8829cda04dd7..c7ada1742ed4e07061951d28a20120fd1f1818c1 100644
--- a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TargetBuffer_t.h
+++ b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TargetBuffer_t.h
@@ -33,7 +33,6 @@ namespace TTN {
         , m_bufferEnd(m_bufferStart + buffer.size())//assumed contiguous
 #endif
     {
-      // cppcheck-suppress missingReturn; false positive
     }
 
   protected:
@@ -47,7 +46,6 @@ namespace TTN {
       , m_bufferEnd(buffer.m_bufferEnd)
 #endif
     {
-      // cppcheck-suppress missingReturn; false positive
     }
 
     template <typename T1, typename T2,typename T3>
diff --git a/Tracking/TrkVertexFitter/TrkVertexBilloirTools/src/FullVertexFitter.cxx b/Tracking/TrkVertexFitter/TrkVertexBilloirTools/src/FullVertexFitter.cxx
index 307985fd9b05673d6a44167fed4abd5d9d4bb5d4..6853b4b6ef4d2abbca6a263ceee8a79a7fcc5ed0 100755
--- a/Tracking/TrkVertexFitter/TrkVertexBilloirTools/src/FullVertexFitter.cxx
+++ b/Tracking/TrkVertexFitter/TrkVertexBilloirTools/src/FullVertexFitter.cxx
@@ -356,13 +356,11 @@ namespace Trk
 				if ( mom_at_Origin[iRP] ( 1 ) > M_PI )
 				{
 					mom_at_Origin[iRP] ( 1 ) = 2*M_PI - mom_at_Origin[iRP] ( 1 );
-                                        // cppcheck-suppress identicalInnerCondition; false positive
 					if ( mom_at_Origin[iRP] ( 0 ) >= 0 )   mom_at_Origin[iRP] ( 0 )  += ( mom_at_Origin[iRP] ( 0 ) >0 ) ? -M_PI : M_PI;
 				}
 				if ( mom_at_Origin[iRP] ( 1 ) < 0.0 )
 				{
 					mom_at_Origin[iRP] ( 1 )  = - mom_at_Origin[iRP] ( 1 );
-                                        // cppcheck-suppress identicalInnerCondition; false positive
 					if ( mom_at_Origin[iRP] ( 0 ) >= 0 )  mom_at_Origin[iRP] ( 0 ) += ( mom_at_Origin[iRP] ( 0 ) >0 ) ? -M_PI : M_PI;
 				}
 
diff --git a/Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/TrigDBConnectionConfig.h b/Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/TrigDBConnectionConfig.h
index b4b8cb08be09af64c3c1424bc7f5ec838c2a8f1c..54c891c728544fdd654f1ed010a74eaf80ef1f27 100644
--- a/Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/TrigDBConnectionConfig.h
+++ b/Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/TrigDBConnectionConfig.h
@@ -111,7 +111,6 @@ TrigDBConnectionConfig::TrigDBConnectionConfig(DBType type,
                                                const PSKeys& hltPsKeys)
   : TrigDBConnectionConfig(type, server, smKey)
 {
-  // cppcheck-suppress useInitializationList  --- false positive
   m_hltkeys = hltPsKeys;
 }
 
diff --git a/Trigger/TrigConfiguration/TrigConfxAOD/src/xAODMenuWriterMT.cxx b/Trigger/TrigConfiguration/TrigConfxAOD/src/xAODMenuWriterMT.cxx
index 2a9d6f0c00a09d7aa3d8d1ba6eec027a4e22298e..be7c69b8339a12690b4ca85b533078c43e4d1a39 100644
--- a/Trigger/TrigConfiguration/TrigConfxAOD/src/xAODMenuWriterMT.cxx
+++ b/Trigger/TrigConfiguration/TrigConfxAOD/src/xAODMenuWriterMT.cxx
@@ -69,9 +69,7 @@ namespace TrigConf
       // HLT JSON object - contains HLT menus
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hlt = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> hlt = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hlt = hlt.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hlt->setStore(aux_hlt.get());
 
       ATH_CHECK(m_metaStore->record(std::move(aux_hlt), m_metaNameJSON_hlt + "Aux."));
@@ -80,9 +78,7 @@ namespace TrigConf
       // HLT Monitoring JSON object - contains Monitoring groups for HLT menus
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hltmonitoring = hltmonitoring.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hltmonitoring->setStore(aux_hltmonitoring.get());
 
       ATH_CHECK(m_metaStore->record(std::move(aux_hltmonitoring), m_metaNameJSON_hltmonitoring + "Aux."));
@@ -91,9 +87,7 @@ namespace TrigConf
       // L1 JSON object - contains L1 menus
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1 = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1 = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_l1 = l1.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_l1->setStore(aux_l1.get());
 
       ATH_CHECK(m_metaStore->record(std::move(aux_l1), m_metaNameJSON_l1 + "Aux."));
@@ -102,9 +96,7 @@ namespace TrigConf
       // HLT PS JSON object - contains prescales sets for HLT menus
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hltps = hltps.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_hltps->setStore(aux_hltps.get());
 
       ATH_CHECK(m_metaStore->record(std::move(aux_hltps), m_metaNameJSON_hltps + "Aux."));
@@ -113,9 +105,7 @@ namespace TrigConf
       // L1 PS JSON object - contains prescales sets for L1 menus
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1ps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1ps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_l1ps = l1ps.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_l1ps->setStore(aux_l1ps.get());
 
       ATH_CHECK(m_metaStore->record(std::move(aux_l1ps), m_metaNameJSON_l1ps + "Aux."));
@@ -124,9 +114,7 @@ namespace TrigConf
       // Bunchgroup JSON object - contains bungchgroup configuration
       std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_bg = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
       std::unique_ptr<xAOD::TriggerMenuJsonContainer> bg = std::make_unique<xAOD::TriggerMenuJsonContainer>();
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_bg = bg.get(); // Keep a cached pointer from which we can add to the output metastore
-      // cppcheck-suppress danglingLifetime; false positive
       m_menuJSON_bg->setStore( aux_bg.get() );
 
       ATH_CHECK( m_metaStore->record(std::move(aux_bg), m_metaNameJSON_bg + "Aux." ) );
diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/L1TopoSimulationUtils/L1TopoDataTypes.h b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/L1TopoSimulationUtils/L1TopoDataTypes.h
index 78409ea00e599c0d151e9395c55222bf52900c57..7dedda62752386c78621bea2adcf4b7da052c19e 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/L1TopoSimulationUtils/L1TopoDataTypes.h
+++ b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/L1TopoSimulationUtils/L1TopoDataTypes.h
@@ -198,7 +198,6 @@ namespace TSU {
           // Do the fractional part
           if (F > 0) {
             unsigned frac = m_tvalue & ( (1ull<<F)-1ull );
-            // cppcheck-suppress shiftNegative; false positive
             res += static_cast<float>(frac) / (2ull<<(F-1ull));
           }
           return res;
diff --git a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h
index 5ca25a4e39151b52a994ce04300500f114718d9e..7997ad0cc621bf161cd7bcfcd991ee12d3ca05b1 100644
--- a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h
+++ b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h
@@ -217,7 +217,6 @@ IDScanZFinderInternal<SpacePoint>::IDScanZFinderInternal( const std::string& typ
   /// do not call that here
   ///  initializeInternal( m_IdScan_MaxNumLayers, m_IdScan_LastBrlLayer );
 
-  // cppcheck-suppress missingReturn; false positive
   m_Status = 0;
 }