From c7655737681e283bc4620567cfe9acb4123065fe Mon Sep 17 00:00:00 2001 From: Patrick Simmons Date: Tue, 5 Aug 2025 18:36:35 -0500 Subject: [PATCH 1/4] Fix build on GCC 15 --- flang/lib/Optimizer/Builder/CMakeLists.txt | 1 + flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt | 2 ++ openmp/runtime/src/CMakeLists.txt | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/flang/lib/Optimizer/Builder/CMakeLists.txt b/flang/lib/Optimizer/Builder/CMakeLists.txt index 31ae395805faf..eb4413887e67e 100644 --- a/flang/lib/Optimizer/Builder/CMakeLists.txt +++ b/flang/lib/Optimizer/Builder/CMakeLists.txt @@ -49,6 +49,7 @@ add_flang_library(FIRBuilder FIRDialectSupport FIRSupport FortranEvaluate + FortranSupport HLFIRDialect MLIR_DEPS diff --git a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt index cc74273d9c5d9..3775a13e31e95 100644 --- a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt +++ b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt @@ -27,6 +27,8 @@ add_flang_library(HLFIRTransforms FIRSupport FIRTransforms FlangOpenMPTransforms + FortranEvaluate + FortranSupport HLFIRDialect LINK_COMPONENTS diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt index 569061c6494b8..9a2d490bdd65d 100644 --- a/openmp/runtime/src/CMakeLists.txt +++ b/openmp/runtime/src/CMakeLists.txt @@ -168,7 +168,7 @@ endif() # Disable libstdc++ assertions, even in an LLVM_ENABLE_ASSERTIONS build, to # avoid an unwanted dependency on libstdc++.so. if(NOT WIN32) - add_definitions(-U_GLIBCXX_ASSERTIONS) + add_definitions(-U_GLIBCXX_ASSERTIONS -D_GLIBCXX_NO_ASSERTIONS) endif() # Add the OpenMP library From 72b5c637d0e6622945790b63e16c7c37fb77618c Mon Sep 17 00:00:00 2001 From: Patrick Simmons Date: Thu, 7 Aug 2025 11:46:45 -0500 Subject: [PATCH 2/4] Additional glibc assert flag --- flang-rt/lib/runtime/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flang-rt/lib/runtime/CMakeLists.txt b/flang-rt/lib/runtime/CMakeLists.txt index dc2db1d9902cb..f5ffc670b2fab 100644 --- a/flang-rt/lib/runtime/CMakeLists.txt +++ b/flang-rt/lib/runtime/CMakeLists.txt @@ -183,6 +183,9 @@ endif () if (NOT WIN32) + add_definitions(-U_GLIBCXX_ASSERTIONS -D_GLIBCXX_NO_ASSERTIONS) + add_compile_options($<$:-fno-exceptions>) + add_flangrt_library(flang_rt.runtime STATIC SHARED ${sources} LINK_LIBRARIES ${Backtrace_LIBRARY} From d5e848b54d4dacbd89d4d8685b4b7ebb5d8c4323 Mon Sep 17 00:00:00 2001 From: Patrick Simmons Date: Thu, 7 Aug 2025 12:44:16 -0500 Subject: [PATCH 3/4] -O2 must be used even in debug mode so that DCE will get rid of unused std::exception symbols --- flang-rt/lib/runtime/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flang-rt/lib/runtime/CMakeLists.txt b/flang-rt/lib/runtime/CMakeLists.txt index f5ffc670b2fab..ee07f844e854c 100644 --- a/flang-rt/lib/runtime/CMakeLists.txt +++ b/flang-rt/lib/runtime/CMakeLists.txt @@ -184,7 +184,7 @@ endif () if (NOT WIN32) add_definitions(-U_GLIBCXX_ASSERTIONS -D_GLIBCXX_NO_ASSERTIONS) - add_compile_options($<$:-fno-exceptions>) + add_compile_options($<$:-fno-exceptions -O2>) add_flangrt_library(flang_rt.runtime STATIC SHARED ${sources} From 79ee0e45cf9739989419d40d5b67c8dda1fb3cf8 Mon Sep 17 00:00:00 2001 From: Patrick Simmons Date: Thu, 7 Aug 2025 12:52:14 -0500 Subject: [PATCH 4/4] Fix syntax --- flang-rt/lib/runtime/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flang-rt/lib/runtime/CMakeLists.txt b/flang-rt/lib/runtime/CMakeLists.txt index ee07f844e854c..08db8b2e3a4db 100644 --- a/flang-rt/lib/runtime/CMakeLists.txt +++ b/flang-rt/lib/runtime/CMakeLists.txt @@ -184,7 +184,8 @@ endif () if (NOT WIN32) add_definitions(-U_GLIBCXX_ASSERTIONS -D_GLIBCXX_NO_ASSERTIONS) - add_compile_options($<$:-fno-exceptions -O2>) + add_compile_options($<$:-fno-exceptions>) + add_compile_options($<$:-O2>) add_flangrt_library(flang_rt.runtime STATIC SHARED ${sources}