[Openmp-commits] [flang] [llvm] [openmp] Fix Debug Build Using GCC 15 (PR #152223)
Patrick Simmons via Openmp-commits
openmp-commits at lists.llvm.org
Thu Aug 7 10:45:08 PDT 2025
https://github.com/linuxrocks123 updated https://github.com/llvm/llvm-project/pull/152223
>From c7655737681e283bc4620567cfe9acb4123065fe Mon Sep 17 00:00:00 2001
From: Patrick Simmons <psimmons at pensando.io>
Date: Tue, 5 Aug 2025 18:36:35 -0500
Subject: [PATCH 1/3] 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 <psimmons at pensando.io>
Date: Thu, 7 Aug 2025 11:46:45 -0500
Subject: [PATCH 2/3] 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($<$<COMPILE_LANGUAGE:CXX>:-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 <psimmons at pensando.io>
Date: Thu, 7 Aug 2025 12:44:16 -0500
Subject: [PATCH 3/3] -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($<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>)
+ add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions -O2>)
add_flangrt_library(flang_rt.runtime STATIC SHARED
${sources}
More information about the Openmp-commits
mailing list