From 349ba6908db2b2c0d4ea7cc15d0553b74e06bf61 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 23 Nov 2022 15:21:10 -0500
Subject: [PATCH] LWHists: Fix thread-safety checker warnings for tests.

Disable thread-safety checking for top-level test code.
---
 .../LWHists/src/tests/comphistfiles/main_comphistfiles.cxx | 7 ++++---
 Tools/LWHists/src/tests/validation/main_validation.cxx     | 5 +++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Tools/LWHists/src/tests/comphistfiles/main_comphistfiles.cxx b/Tools/LWHists/src/tests/comphistfiles/main_comphistfiles.cxx
index 74a6de319b27..fda06aba425d 100644
--- a/Tools/LWHists/src/tests/comphistfiles/main_comphistfiles.cxx
+++ b/Tools/LWHists/src/tests/comphistfiles/main_comphistfiles.cxx
@@ -1,9 +1,10 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "readfile.h"
 #include "comphists.h"
+#include "CxxUtils/checker_macros.h"
 #include <iostream>
 #include <cassert>
 #include <cstdlib>
@@ -30,7 +31,7 @@ void classifyByKey( const KeyToHistMap& hists1,KeyToHistMap& hists2,
     histsOnlyIn2.push_back(*it2);
 }
 
-void usage(char**argv,int exitcode) {
+void usage ATLAS_NOT_THREAD_SAFE (char**argv,int exitcode) {
   std::cout << "Usage:"<<std::endl;
   std::cout << ""<<std::endl;
   std::cout << argv[0]<<" [flags] histfile1.root histfile2.root [outputfile.root]"<<std::endl;
@@ -59,7 +60,7 @@ bool fileExists(const std::string& filename) {
 }
 
 //Returns 0 if check ok, 1 if problems getting histograms from one of the files, 2 if check not ok.
-int main(int argc,char**argv){
+int main ATLAS_NOT_THREAD_SAFE (int argc,char**argv){
   //Decode arguments:
   bool verbose(false);
   std::vector<std::string> rootfiles;
diff --git a/Tools/LWHists/src/tests/validation/main_validation.cxx b/Tools/LWHists/src/tests/validation/main_validation.cxx
index 827a498c5ab6..65c907c76c3f 100644
--- a/Tools/LWHists/src/tests/validation/main_validation.cxx
+++ b/Tools/LWHists/src/tests/validation/main_validation.cxx
@@ -31,6 +31,7 @@
 #include "LWHists/TProfile2D_LW.h"
 
 #include "CxxUtils/ubsan_suppress.h"
+#include "CxxUtils/checker_macros.h"
 #include "TInterpreter.h"
 
 #include <cstdlib>
@@ -1043,14 +1044,14 @@ void basicValidation_Profile2D(bool trigger_conversion_all,
   hvb.fill(1.2,1.0, 2.0);hvb.compareAll();
 }
 
-void usage(char**argv,int exitcode) {
+void usage ATLAS_NOT_THREAD_SAFE (char**argv,int exitcode) {
   std::cout << "Usage:"<<std::endl;
   std::cout << ""<<std::endl;
   std::cout << argv[0]<<" [-h|--help] [-v|--verbose] [--no1d] [--no2d] [--noprofile] [--quick|--noquick] [--rootbackend] [--triggerconv] [--seed=XXX]"<<std::endl;
   std::cout <<""<<std::endl;
   exit(exitcode);
 }
-int main (int argc, char** argv) {
+int main ATLAS_NOT_THREAD_SAFE (int argc, char** argv) {
 
   // Suppress ubsan warnings from cling.
   CxxUtils::ubsan_suppress ([]() { TInterpreter::Instance(); });
-- 
GitLab