From 4a8c1a652cd261b4c974eaf73526a44cb93c9060 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 16 Mar 2023 15:29:52 +0100
Subject: [PATCH] Philippe 16/03/2023: GCC: workaround bug 109157 with
 -fbounds-check

(cherry picked from commit 174d4edab2d30ea6d0365e942d2e678193e8641b)
---
 src/Rules.LXgfortran.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk
index c171e1eba..ccae03cb2 100644
--- a/src/Rules.LXgfortran.mk
+++ b/src/Rules.LXgfortran.mk
@@ -54,6 +54,9 @@ OPT       = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
 OPT0      = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF0)
 CFLAGS    += -g -O0
+#-fbounds-check is bugged for GCC 11 and 12 (up to at least 12.2) in some special cases (GCC bug 109157)
+OBJS_NOBOUNDSCHECK = spll_mode_write_diachro.o
+$(OBJS_NOBOUNDSCHECK) : OPT = $(OPT_BASE) $(OPT_PERF0) -finit-real=nan
 endif
 ifeq "$(OPTLEVEL)" "OPENACCDEFONLY"
 CPPFLAGS    += -DMNH_OPENACC -D_FAKEOPENACC
-- 
GitLab