https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69065
kukyakya at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from kukyakya at gmail dot com --- 'alignas' specifier is not meant to be used in type declaration. (http://stackoverflow.com/a/34006668/1030861) Was not a bug. Works as expected if used properly. ------------------------------------------- #include <iostream> struct test1 { alignas(int) alignas(double) char _; }; struct test2 { alignas(double) alignas(int) char _; }; int main() { std::cout << "alignof(int) is " << alignof(int) << std::endl; std::cout << "alignof(double) is " << alignof(double) << std::endl; std::cout << "alignof(test1) is " << alignof(test1) << std::endl; std::cout << "alignof(test2) is " << alignof(test2) << std::endl; } ------------------------------------------- alignof(int) is 4 alignof(double) is 8 alignof(test1) is 8 alignof(test2) is 8 -------------------------------------------