We don't need these 'unused' members because they're never used, and a
union with a single variant member is fine.
libstdc++-v3/ChangeLog:
* libsupc++/eh_globals.cc (constant_init::unused): Remove.
* src/c++11/system_error.cc (constant_init::unused): Remove.
* src/c++17/memory_resource.cc (constant_init::unused): Remove.
struct constant_init
{
union {
- unsigned char unused;
__cxa_eh_globals obj;
};
constexpr constant_init() : obj() { }
struct constant_init
{
union {
- unsigned char unused;
T obj;
};
constexpr constant_init() : obj() { }
struct constant_init
{
union {
- unsigned char unused;
T obj;
};
constexpr constant_init() : obj() { }