35 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -emit-llvm -o - %s | FileCheck %s2 3// CHECK: @test2 ={{.*}} alias i32 (), ptr @_Z5test1v4 5// CHECK: define{{.*}} i32 @_Z3foov() [[NUW:#[0-9]+]] align 10246int foo() __attribute__((aligned(1024)));7int foo() { return 0; }8 9class C {10 virtual void bar1() __attribute__((aligned(1)));11 virtual void bar2() __attribute__((aligned(2)));12 virtual void bar3() __attribute__((aligned(1024)));13 void bar4() __attribute__((aligned(1024)));14} c;15 16// CHECK: define{{.*}} void @_ZN1C4bar1Ev(ptr {{[^,]*}} %this) unnamed_addr [[NUW]] align 217void C::bar1() { }18 19// CHECK: define{{.*}} void @_ZN1C4bar2Ev(ptr {{[^,]*}} %this) unnamed_addr [[NUW]] align 220void C::bar2() { }21 22// CHECK: define{{.*}} void @_ZN1C4bar3Ev(ptr {{[^,]*}} %this) unnamed_addr [[NUW]] align 102423void C::bar3() { }24 25// CHECK: define{{.*}} void @_ZN1C4bar4Ev(ptr {{[^,]*}} %this) [[NUW]] align 102426void C::bar4() { }27 28// PR663529// CHECK-LABEL: define{{.*}} i32 @_Z5test1v()30int test1() { return 10; }31// CHECK at top of file32extern "C" int test2() __attribute__((alias("_Z5test1v")));33 34// CHECK: attributes [[NUW]] = { {{.*}}noinline nounwind{{.*}} }35