On Sun, Feb 28, 2021 at 10:53 PM Hans-Peter Nilsson <h...@bitrange.com> wrote: > > > > On Fri, 26 Feb 2021, Thiago Macieira via Gcc-patches wrote: > > > On Friday, 26 February 2021 11:31:00 PST Andreas Schwab wrote: > > > On Feb 26 2021, Thiago Macieira wrote: > > > > On Friday, 26 February 2021 10:14:42 PST Andreas Schwab wrote: > > > >> On Feb 26 2021, Thiago Macieira via Gcc-patches wrote: > > > >> > - alignas(__alignof__(ptrdiff_t)) ptrdiff_t _M_a; > > > >> > + alignas(__alignof__(int)) int _M_a; > > > >> > > > >> Futexes must be aligned to 4 bytes. > > > > > > > > Agreed, but doesn't this accomplish that? > > > > > > No. It uses whatever alignment the type already has, and is an > > > elaborate no-op. > > > > I thought so too when I read the original line. But I expected it was > > written > > like that for a reason, especially since the same pattern appears in other > > places. > > > > I can change to "alignas(4)" (which is a GCC extension, I believe). Is that > > the correct solution? > > IMNSHO make use of the corresponding atomic type. Then there'd > be no need for separate what's-the-right-align-curse games.
Or align as the corresponding atomic type (in case using an actual std::atomic<int> is undesirable). OTOH the proposed code isn't any more bogus than the previous ... Richard. > brgds, H-P