[llvm] [Support] Simplify macro conditions involving __GNUC__ (NFC) (PR #155070)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 22 20:56:44 PDT 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/155070
We require GCC 7.4 these days, so we just need to check for
defined(__GNUC__).
>From 5fd465a80e716b4a6482e11b22948f9b2b22cc0e Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 22 Aug 2025 10:48:05 -0700
Subject: [PATCH] [Support] Simplify macro conditions involving __GNUC__ (NFC)
We require GCC 7.4 these days, so we just need to check for
defined(__GNUC__).
---
llvm/lib/Support/BLAKE3/blake3_neon.c | 2 +-
llvm/lib/Support/ConvertUTF.cpp | 2 +-
llvm/unittests/Support/AlignOfTest.cpp | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Support/BLAKE3/blake3_neon.c b/llvm/lib/Support/BLAKE3/blake3_neon.c
index ee36721f87573..e691635cf41cb 100644
--- a/llvm/lib/Support/BLAKE3/blake3_neon.c
+++ b/llvm/lib/Support/BLAKE3/blake3_neon.c
@@ -54,7 +54,7 @@ INLINE uint32x4_t rot8_128(uint32x4_t x) {
// return vorrq_u32(vshrq_n_u32(x, 8), vshlq_n_u32(x, 32 - 8));
#if defined(__clang__)
return vreinterpretq_u32_u8(__builtin_shufflevector(vreinterpretq_u8_u32(x), vreinterpretq_u8_u32(x), 1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12));
-#elif __GNUC__ * 10000 + __GNUC_MINOR__ * 100 >=40700
+#elif defined(__GNUC__)
static const uint8x16_t r8 = {1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12};
return vreinterpretq_u32_u8(__builtin_shuffle(vreinterpretq_u8_u32(x), vreinterpretq_u8_u32(x), r8));
#else
diff --git a/llvm/lib/Support/ConvertUTF.cpp b/llvm/lib/Support/ConvertUTF.cpp
index bc04c5ab51135..63f92631d5b47 100644
--- a/llvm/lib/Support/ConvertUTF.cpp
+++ b/llvm/lib/Support/ConvertUTF.cpp
@@ -79,7 +79,7 @@
# define ConvertUTF_RESTORE_WARNINGS \
_Pragma("clang diagnostic pop")
# endif
-#elif defined(__GNUC__) && __GNUC__ > 6
+#elif defined(__GNUC__)
# define ConvertUTF_DISABLE_WARNINGS \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
diff --git a/llvm/unittests/Support/AlignOfTest.cpp b/llvm/unittests/Support/AlignOfTest.cpp
index f84895c18602d..979f2cf18cc15 100644
--- a/llvm/unittests/Support/AlignOfTest.cpp
+++ b/llvm/unittests/Support/AlignOfTest.cpp
@@ -30,7 +30,7 @@ namespace {
#ifdef __clang__
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Winaccessible-base"
-#elif ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
+#elif defined(__GNUC__)
// Pragma based warning suppression was introduced in GGC 4.2. Additionally
// this warning is "enabled by default". The warning still appears if -Wall is
// suppressed. Apparently GCC suppresses it when -w is specifed, which is odd.
More information about the llvm-commits
mailing list