[flang-commits] [flang] [flang] Fixed compiler build on glibc 2.17 systems after 3149c93. (PR #84873)

Slava Zakharin via flang-commits flang-commits at lists.llvm.org
Mon Mar 11 22:24:50 PDT 2024


https://github.com/vzakhari created https://github.com/llvm/llvm-project/pull/84873

None

>From 4911c6bf96f92f41cec0bb4acd4d9737d6fa00bd Mon Sep 17 00:00:00 2001
From: Slava Zakharin <szakharin at nvidia.com>
Date: Mon, 11 Mar 2024 21:12:44 -0700
Subject: [PATCH] [flang] Fixed compiler build on glibc 2.17 systems after
 3149c93.

---
 flang/include/flang/Evaluate/integer.h   | 4 ++++
 flang/include/flang/Evaluate/real.h      | 4 ++++
 flang/lib/Evaluate/fold-implementation.h | 4 ++++
 3 files changed, 12 insertions(+)

diff --git a/flang/include/flang/Evaluate/integer.h b/flang/include/flang/Evaluate/integer.h
index 31768c21daae62..7395645701265d 100644
--- a/flang/include/flang/Evaluate/integer.h
+++ b/flang/include/flang/Evaluate/integer.h
@@ -27,6 +27,10 @@
 #include <string>
 #include <type_traits>
 
+// Some environments, viz. glibc 2.17, allow the macro HUGE
+// to leak out of <math.h>.
+#undef HUGE
+
 namespace Fortran::evaluate::value {
 
 // Implements an integer as an assembly of smaller host integer parts
diff --git a/flang/include/flang/Evaluate/real.h b/flang/include/flang/Evaluate/real.h
index 5266bd0ef64bfd..d0da9634651f36 100644
--- a/flang/include/flang/Evaluate/real.h
+++ b/flang/include/flang/Evaluate/real.h
@@ -18,6 +18,10 @@
 #include <limits>
 #include <string>
 
+// Some environments, viz. glibc 2.17, allow the macro HUGE
+// to leak out of <math.h>.
+#undef HUGE
+
 namespace llvm {
 class raw_ostream;
 }
diff --git a/flang/lib/Evaluate/fold-implementation.h b/flang/lib/Evaluate/fold-implementation.h
index 6b3c9416724cb6..9dd8c3843465d5 100644
--- a/flang/lib/Evaluate/fold-implementation.h
+++ b/flang/lib/Evaluate/fold-implementation.h
@@ -39,6 +39,10 @@
 #include <type_traits>
 #include <variant>
 
+// Some environments, viz. glibc 2.17, allow the macro HUGE
+// to leak out of <math.h>.
+#undef HUGE
+
 namespace Fortran::evaluate {
 
 // Utilities



More information about the flang-commits mailing list