Commit 6d17d4bd by Abseil Team Committed by Copybara-Service

Add a pragma to disable a maybe-uninitialized warning for GCC12+

PiperOrigin-RevId: 592301543
Change-Id: I97e4df805c7313896228430a50a7f991127f3e30
parent 46223c86
...@@ -126,6 +126,7 @@ cc_library( ...@@ -126,6 +126,7 @@ cc_library(
linkopts = ABSL_DEFAULT_LINKOPTS, linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [ deps = [
":compressed_tuple", ":compressed_tuple",
"//absl/base:config",
"//absl/base:core_headers", "//absl/base:core_headers",
"//absl/memory", "//absl/memory",
"//absl/meta:type_traits", "//absl/meta:type_traits",
......
...@@ -177,6 +177,7 @@ absl_cc_library( ...@@ -177,6 +177,7 @@ absl_cc_library(
${ABSL_DEFAULT_COPTS} ${ABSL_DEFAULT_COPTS}
DEPS DEPS
absl::compressed_tuple absl::compressed_tuple
absl::config
absl::core_headers absl::core_headers
absl::memory absl::memory
absl::span absl::span
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <utility> #include <utility>
#include "absl/base/attributes.h" #include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/base/macros.h" #include "absl/base/macros.h"
#include "absl/container/internal/compressed_tuple.h" #include "absl/container/internal/compressed_tuple.h"
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
...@@ -384,7 +385,17 @@ class Storage { ...@@ -384,7 +385,17 @@ class Storage {
bool GetIsAllocated() const { return GetSizeAndIsAllocated() & 1; } bool GetIsAllocated() const { return GetSizeAndIsAllocated() & 1; }
Pointer<A> GetAllocatedData() { return data_.allocated.allocated_data; } Pointer<A> GetAllocatedData() {
// GCC 12 has a false-positive -Wmaybe-uninitialized warning here.
#if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(12, 0)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#endif
return data_.allocated.allocated_data;
#if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(12, 0)
#pragma GCC diagnostic pop
#endif
}
ConstPointer<A> GetAllocatedData() const { ConstPointer<A> GetAllocatedData() const {
return data_.allocated.allocated_data; return data_.allocated.allocated_data;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment