https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447
--- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Rich Felker from comment #9) > As a related issue (let me know if I should open a new PR), the following > code: > > struct foo { > char c; > alignas(long long) long long ll; > }; > > is producing a wrong/nonsensical error with gcc 4.9: > > error: '_Alignas' specifiers cannot reduce alignment of 'll' > > Apparently (again) GCC wrongly internally thinks the alignment of long long > is 8, rather than 4. With earlier gcc versions it simply gives the wrong > alignment (8 rather than 4). This should be already fixed: PR61053 (earlier this month I backported the fix even to 4.9).