https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124124

--- Comment #19 from Tomasz KamiƄski <tkaminsk at gcc dot gnu.org> ---
I think the test do not need to use 64B type for this types, as we care only
about
having padding. The following should achieve that:

diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/zero_padding.cc
b/libstdc++-v3/testsuite/29_atomics/atomic/cons/zero_padding.cc
index f85ac4859ec..04076e57a60 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/zero_padding.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/zero_padding.cc
@@ -6,12 +6,12 @@
 #include <cstring>
 #include <testsuite_hooks.h>

-struct TailPadding { int i; char c; };
+struct TailPadding { short i; char c; };
 TailPadding ztail{1, 2}; // zeroed-padding
 constexpr std::atomic<TailPadding> ctail(TailPadding{1,2});
 std::atomic<TailPadding> gtail(TailPadding{1,2});

-struct MidPadding { char c; int x; };
+struct MidPadding { char c; short x; };
 MidPadding zmid{1, 2}; // zeroed-padding
 constexpr std::atomic<MidPadding> cmid(MidPadding{1,2});
 std::atomic<MidPadding> gmid(MidPadding{1,2});
@@ -30,7 +30,7 @@ struct Ctor
   {}

   char c;
-  int i;
+  short i;
 };

Reply via email to