diff options
author | Derek Mauro <dmauro@google.com> | 2022-06-14 12:48:22 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-06-14 12:48:56 -0700 |
commit | bf93dba8e2058c64fc1140c9035bbf9bbe20bfdf (patch) | |
tree | 2b91c116163b0436bb6904ed7ff96c4df8563150 /absl/container/internal/counting_allocator.h | |
parent | 76c7ad82415813cc0354647e4b9b73eaf68a9da0 (diff) |
counting_allocator: suppress bogus -Wuse-after-free warning in GCC 12
PiperOrigin-RevId: 454932630
Change-Id: Ifc716552bb0cd7babcaf416fe28462c15b4c7f23
Diffstat (limited to 'absl/container/internal/counting_allocator.h')
-rw-r--r-- | absl/container/internal/counting_allocator.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/absl/container/internal/counting_allocator.h b/absl/container/internal/counting_allocator.h index 927cf082..66068a5a 100644 --- a/absl/container/internal/counting_allocator.h +++ b/absl/container/internal/counting_allocator.h @@ -80,7 +80,15 @@ class CountingAllocator { template <typename U> void destroy(U* p) { Allocator allocator; + // Ignore GCC warning bug. +#if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(12, 0) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wuse-after-free" +#endif AllocatorTraits::destroy(allocator, p); +#if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(12, 0) +#pragma GCC diagnostic pop +#endif if (instance_count_ != nullptr) { *instance_count_ -= 1; } |