diff --git a/include/boost/move/detail/type_traits.hpp b/include/boost/move/detail/type_traits.hpp index 272cb11..a3326d0 100644 --- a/include/boost/move/detail/type_traits.hpp +++ b/include/boost/move/detail/type_traits.hpp @@ -973,7 +973,7 @@ struct aligned_struct; template\ struct BOOST_ALIGNMENT(A) aligned_struct\ {\ - char dummy[Len];\ + char data[Len];\ };\ // @@ -997,9 +997,10 @@ BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x1000) // Workaround for bogus [-Wignored-attributes] warning on GCC 6.x/7.x: don't use a type that "directly" carries the alignment attribute. // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82270 template -struct aligned_struct_wrapper +union aligned_struct_wrapper { - aligned_struct dummy; + aligned_struct aligner; + char data[sizeof(aligned_struct)]; }; template @@ -1014,7 +1015,7 @@ template union aligned_union { T aligner; - char dummy[Len]; + char data[Len]; }; template