Index: lib/CodeGen/CGValue.h =================================================================== --- lib/CodeGen/CGValue.h +++ lib/CodeGen/CGValue.h @@ -445,7 +445,7 @@ // Qualifiers Qualifiers Quals; - unsigned short Alignment; + unsigned Alignment; /// DestructedFlag - This is set to true if some external code is /// responsible for setting up a destructor for the slot. Otherwise Index: test/Sema/attr-aligned.c =================================================================== --- test/Sema/attr-aligned.c +++ test/Sema/attr-aligned.c @@ -2,6 +2,7 @@ int x __attribute__((aligned(3))); // expected-error {{requested alignment is not a power of 2}} int y __attribute__((aligned(1 << 29))); // expected-error {{requested alignment must be 268435456 bytes or smaller}} +int y __attribute__((aligned(1 << 28))); // PR3254 short g0[3] __attribute__((aligned));