From 7d3e80ce9c522365bf78c44726e9946975f534e4 Mon Sep 17 00:00:00 2001 From: Zoey Greer Date: Thu, 19 Sep 2024 17:31:24 -0700 Subject: [PATCH] `#ifdef` out `clang`-specific pragmas to avoid unknown pragma warnings when compiling with non-`clang` (#18241) Closes #18241 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/18241 from tempoz:tempoz-fix-unknown-pragma e67f35888557f4a78341ed373a96a4c4352da9a0 PiperOrigin-RevId: 676625555 --- src/google/protobuf/wire_format_lite.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/google/protobuf/wire_format_lite.cc b/src/google/protobuf/wire_format_lite.cc index 9737f0ecb5..989a337262 100644 --- a/src/google/protobuf/wire_format_lite.cc +++ b/src/google/protobuf/wire_format_lite.cc @@ -671,9 +671,11 @@ static size_t VarintSize(const T* data, const int n) { if (x > 0x1FFFFF) sum++; if (x > 0xFFFFFFF) sum++; } +#ifdef __clang__ // Clang is not smart enough to see that this loop doesn't run many times // NOLINTNEXTLINE(google3-runtime-pragma-loop-hint): b/315043579 #pragma clang loop vectorize(disable) unroll(disable) interleave(disable) +#endif for (; i < n; i++) { uint32_t x = data[i]; if (ZigZag) { @@ -713,9 +715,11 @@ static size_t VarintSize64(const T* data, const int n) { if (x > 0x1FFFFF) sum++; if (x > 0xFFFFFFF) sum++; } +#ifdef __clang__ // Clang is not smart enough to see that this loop doesn't run many times // NOLINTNEXTLINE(google3-runtime-pragma-loop-hint): b/315043579 #pragma clang loop vectorize(disable) unroll(disable) interleave(disable) +#endif for (; i < n; i++) { uint64_t x = data[i]; if (ZigZag) {