From 0efce18731fd5a758d7b6bbf43554129963ef157 Mon Sep 17 00:00:00 2001
From: Marco Clemencic <marco.clemencic@cern.ch>
Date: Fri, 13 Oct 2023 10:44:28 +0200
Subject: [PATCH] Hide maybe-uninitialized warnings in ROOT dictionaries

---
 cmake/GaudiToolbox.cmake | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/cmake/GaudiToolbox.cmake b/cmake/GaudiToolbox.cmake
index a427c29542..835dfe2ff6 100644
--- a/cmake/GaudiToolbox.cmake
+++ b/cmake/GaudiToolbox.cmake
@@ -1136,6 +1136,14 @@ function(gaudi_add_dictionary dictionary)
     _gaudi_runtime_prepend(ld_library_path $<TARGET_FILE_DIR:${dictionary}>)
     # Add the path to the merged rootmap file to LD_LIBRARY_PATH
     _gaudi_runtime_prepend(ld_library_path ${CMAKE_BINARY_DIR})
+
+    if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
+       AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0
+       AND CMAKE_BUILD_TYPE STREQUAL "FastDebug")
+        # Hide warnings produced by gcc 13 from dictionary code that ends up looking like
+        # https://godbolt.org/z/je7dE3vr1 (only with `-Og`)
+        set_source_files_properties(${gensrcdict} PROPERTIES COMPILE_OPTIONS -Wno-maybe-uninitialized)
+    endif()
 endfunction()
 
 
-- 
GitLab