Eli Friedman 5866fe306d Fix for PR5967: Make const-marking for LLVM globals correct for cases requiring
run-time initialization, and emit run-time initializers aggresively to avoid
ordering issues with deferred globals.

llvm-svn: 92976
2010-01-08 00:50:11 +00:00

40 lines
791 B
C++

// RUN: %clang_cc1 -triple x86_64-apple-darwin -O0 -S %s -o %t.s
// RUN: FileCheck --input-file=%t.s %s
int foo() __attribute__((aligned(1024)));
int foo() { }
// CHECK:.align 10, 0x90
// CHECK:.globl __Z3foov
// CHECK:__Z3foov:
class C {
virtual void bar1() __attribute__((aligned(1)));
virtual void bar2() __attribute__((aligned(2)));
virtual void bar3() __attribute__((aligned(1024)));
} c;
// CHECK:.align 1, 0x90
// CHECK-NEXT:.globl __ZN1CC1Ev
void C::bar1() { }
// CHECK:.align 1, 0x90
// CHECK-NEXT:.globl __ZN1C4bar1Ev
// CHECK-NEXT:__ZN1C4bar1Ev:
void C::bar2() { }
// CHECK:.align 1, 0x90
// CHECK-NEXT:.globl __ZN1C4bar2Ev
// CHECK-NEXT:__ZN1C4bar2Ev:
void C::bar3() { }
// CHECK:.align 10, 0x90
// CHECK-NEXT:.globl __ZN1C4bar3Ev
// CHECK-NEXT:__ZN1C4bar3Ev: