From 541818ee3030fc88ff8f9328bf24ed0c8984d77e Mon Sep 17 00:00:00 2001 From: Randolf J <34705014+jun-sheaf@users.noreply.github.com> Date: Wed, 5 Oct 2022 23:01:02 +0200 Subject: Add clang < 7 to conditions --- absl/strings/charconv.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'absl') diff --git a/absl/strings/charconv.cc b/absl/strings/charconv.cc index 501297c8..c08623c4 100644 --- a/absl/strings/charconv.cc +++ b/absl/strings/charconv.cc @@ -339,13 +339,15 @@ template bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative, FloatType* value) { if (input.type == strings_internal::FloatType::kNan) { - // A bug in gcc would cause the compiler to optimize away the buffer - // we are building below. Declaring the buffer volatile avoids the - // issue, and has no measurable performance impact in microbenchmarks. + // A bug in both clang < 7 and gcc would cause the compiler to optimize + // away the buffer we are building below. Declaring the buffer volatile + // avoids the issue, and has no measurable performance impact in + // microbenchmarks. // + // https://bugs.llvm.org/show_bug.cgi?id=37778 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86113 constexpr ptrdiff_t kNanBufferSize = 128; -#ifdef __GNUC__ +#if defined(__GNUC__) || (defined(__clang__) && __clang_major__ < 7) volatile char n_char_sequence[kNanBufferSize]; #else char n_char_sequence[kNanBufferSize]; -- cgit v1.2.3