forked from OSchip/llvm-project
__attribute__((aligned)) was being ignored!
This knocks out another 8 gcc/compat/i386 & x86_64 failures. llvm-svn: 64947
This commit is contained in:
parent
b1c22fe9b7
commit
aac5bf19a5
|
@ -1177,8 +1177,9 @@ static void HandleAlignedAttr(Decl *d, const AttributeList &Attr, Sema &S) {
|
|||
unsigned Align = 0;
|
||||
if (Attr.getNumArgs() == 0) {
|
||||
// FIXME: This should be the target specific maximum alignment.
|
||||
// (For now we just use 128 bits which is the maximum on X86.
|
||||
// (For now we just use 128 bits which is the maximum on X86).
|
||||
Align = 128;
|
||||
d->addAttr(new AlignedAttr(Align));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -46,6 +46,14 @@ struct __attribute__((aligned(8))) as1 {
|
|||
extern int e1[sizeof(struct as1) == 8 ? 1 : -1];
|
||||
extern int e2[__alignof(struct as1) == 8 ? 1 : -1];
|
||||
|
||||
// FIXME: Will need to force arch once max usable alignment isn't hard
|
||||
// coded.
|
||||
struct __attribute__((aligned)) as1_2 {
|
||||
char c;
|
||||
};
|
||||
extern int e1_2[sizeof(struct as1_2) == 16 ? 1 : -1];
|
||||
extern int e2_2[__alignof(struct as1_2) == 16 ? 1 : -1];
|
||||
|
||||
struct as2 {
|
||||
char c;
|
||||
int __attribute__((aligned(8))) a;
|
||||
|
|
Loading…
Reference in New Issue