cm::optional: Suppress GCC -Wmaybe-uninitialized false positive

This commit is contained in:
Kyle Edwards 2026-01-14 15:02:10 -05:00
parent b98b6b847f
commit 8cca26e562
No known key found for this signature in database

View File

@ -12,6 +12,9 @@
#if defined(CMake_HAVE_CXX_OPTIONAL)
# include <optional> // IWYU pragma: export
#else
# if defined(__GNUC__) && !defined(__clang__)
# include <cstring>
# endif
# include <memory>
# include <cm/utility>
@ -121,7 +124,13 @@ private:
T value;
// Explicit constructor and destructor is required to make this work
_mem_union() noexcept {}
_mem_union() noexcept
{
# if defined(__GNUC__) && !defined(__clang__)
// Some versions of GCC complain about uninitialized memory
std::memset(this, 0, sizeof(*this));
# endif
}
~_mem_union() noexcept {}
} _mem;
};