[flang-commits] [flang] [flang] fix build on FreeBSD after 4762c6557d15 (PR #86204)
via flang-commits
flang-commits at lists.llvm.org
Fri Mar 22 10:40:47 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-semantics
Author: Brooks Davis (brooksdavis)
<details>
<summary>Changes</summary>
The HUGE definition collides with the HUGE macro from math.h. Unlike the fix in 3149c934cb26 (#<!-- -->84478) (largely reverted in f95710c76519), add another #undef HUGE since there is no practical way to make FreeBSD's headers not define HUGE and still define XSI interfaces such as isascii or strnlen.
Fixes #<!-- -->86038
---
Full diff: https://github.com/llvm/llvm-project/pull/86204.diff
4 Files Affected:
- (modified) flang/include/flang/Evaluate/integer.h (+1-1)
- (modified) flang/include/flang/Evaluate/real.h (+1-1)
- (modified) flang/lib/Decimal/decimal-to-binary.cpp (+4)
- (modified) flang/lib/Evaluate/fold-implementation.h (+1-1)
``````````diff
diff --git a/flang/include/flang/Evaluate/integer.h b/flang/include/flang/Evaluate/integer.h
index 7395645701265d..b62e2bcb90f2f3 100644
--- a/flang/include/flang/Evaluate/integer.h
+++ b/flang/include/flang/Evaluate/integer.h
@@ -27,7 +27,7 @@
#include <string>
#include <type_traits>
-// Some environments, viz. glibc 2.17, allow the macro HUGE
+// Some environments, viz. glibc 2.17 and *BSD, allow the macro HUGE
// to leak out of <math.h>.
#undef HUGE
diff --git a/flang/include/flang/Evaluate/real.h b/flang/include/flang/Evaluate/real.h
index b7af0ff6b431c8..6f2466c9da6773 100644
--- a/flang/include/flang/Evaluate/real.h
+++ b/flang/include/flang/Evaluate/real.h
@@ -18,7 +18,7 @@
#include <limits>
#include <string>
-// Some environments, viz. glibc 2.17, allow the macro HUGE
+// Some environments, viz. glibc 2.17 and *BSD, allow the macro HUGE
// to leak out of <math.h>.
#undef HUGE
diff --git a/flang/lib/Decimal/decimal-to-binary.cpp b/flang/lib/Decimal/decimal-to-binary.cpp
index c5cdb72e355f62..1bcf6967cc40be 100644
--- a/flang/lib/Decimal/decimal-to-binary.cpp
+++ b/flang/lib/Decimal/decimal-to-binary.cpp
@@ -16,6 +16,10 @@
#include <ctype.h>
#include <utility>
+// Some environments, viz. glibc 2.17 and *BSD, allow the macro HUGE
+// to leak out of <math.h>.
+#undef HUGE
+
namespace Fortran::decimal {
template <int PREC, int LOG10RADIX>
diff --git a/flang/lib/Evaluate/fold-implementation.h b/flang/lib/Evaluate/fold-implementation.h
index 9dd8c3843465d5..c47ffb7a0f7011 100644
--- a/flang/lib/Evaluate/fold-implementation.h
+++ b/flang/lib/Evaluate/fold-implementation.h
@@ -39,7 +39,7 @@
#include <type_traits>
#include <variant>
-// Some environments, viz. glibc 2.17, allow the macro HUGE
+// Some environments, viz. glibc 2.17 and *BSD, allow the macro HUGE
// to leak out of <math.h>.
#undef HUGE
``````````
</details>
https://github.com/llvm/llvm-project/pull/86204
More information about the flang-commits
mailing list