From eae3e6df34a5be1d6c5b8394402b4808351f8dbf Mon Sep 17 00:00:00 2001 From: CEL Dev Team Date: Thu, 31 Jul 2025 14:28:15 -0700 Subject: [PATCH] Only ignore warning in clang >= 20 `-Wnontrivial-memcall` was only introduced in clang v20. In earlier versions, the pragma raises an error because the warning does not exist. PiperOrigin-RevId: 789473674 --- common/values/value_variant.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/values/value_variant.h b/common/values/value_variant.h index 5d3dac95e..b05511e3c 100644 --- a/common/values/value_variant.h +++ b/common/values/value_variant.h @@ -737,7 +737,7 @@ class alignas(kValueVariantAlign) CEL_COMMON_INTERNAL_VALUE_VARIANT_TRIVIAL_ABI #if defined(__GNUC__) && !defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wclass-memaccess" -#elif defined(__clang__) +#elif defined(__clang__) && __clang_major__ >= 20 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wnontrivial-memcall" #endif @@ -751,7 +751,7 @@ class alignas(kValueVariantAlign) CEL_COMMON_INTERNAL_VALUE_VARIANT_TRIVIAL_ABI std::memcpy(std::addressof(rhs), tmp, sizeof(ValueVariant)); #if defined(__GNUC__) && !defined(__clang__) #pragma GCC diagnostic pop -#elif defined(__clang__) +#elif defined(__clang__) && __clang_major__ >= 20 #pragma clang diagnostic pop #endif } else {