summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Cran <rebecca@bsdio.com>2024-06-16 02:55:33 -0600
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-06-20 01:55:03 +0000
commit57a890fd03356350a1b7a2a0064c8118f44e9958 (patch)
tree5b65a53b46ca75485e0257fe5ce324eec1d65a71
parent95e220e95d6237e21f7c0b83fca02d56b9327c4a (diff)
downloadedk2-57a890fd03356350a1b7a2a0064c8118f44e9958.zip
edk2-57a890fd03356350a1b7a2a0064c8118f44e9958.tar.gz
edk2-57a890fd03356350a1b7a2a0064c8118f44e9958.tar.bz2
MdePkg: Check if compiler has __has_builtin before trying to use it
When building AArch64 code, cpp gets run with the `-undef` flag which on Fedora 40 with gcc version 14.1.1 20240607 (Red Hat 14.1.1-5) causes __has_builtin to be undefined. When running the check for __builtin_unreachable in Base.h it causes an error "missing binary operator before token "("". Check that we have __has_builtin before trying to use it. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
-rw-r--r--MdePkg/Include/Base.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
index e02970a..7caebbe 100644
--- a/MdePkg/Include/Base.h
+++ b/MdePkg/Include/Base.h
@@ -59,7 +59,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
/// up to the compiler to remove any code past that point.
///
#define UNREACHABLE() __builtin_unreachable ()
- #elif defined (__has_feature)
+ #elif defined (__has_builtin) && defined (__has_feature)
#if __has_builtin (__builtin_unreachable)
///
/// Signal compilers and analyzers that this call is not reachable. It is