diff options
Diffstat (limited to 'clang/test/CodeGenCXX/alwaysinline.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/alwaysinline.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/clang/test/CodeGenCXX/alwaysinline.cpp b/clang/test/CodeGenCXX/alwaysinline.cpp deleted file mode 100644 index c694ae41d22..00000000000 --- a/clang/test/CodeGenCXX/alwaysinline.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// Test different kinds of alwaysinline *structor definitions. - -// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -disable-llvm-optzns -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK -// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -disable-llvm-optzns -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-CALL - -// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -mconstructor-aliases -disable-llvm-optzns -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK -// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -mconstructor-aliases -disable-llvm-optzns -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-CALL - -struct A1 { - __attribute__((__always_inline__)) A1() {} - __attribute__((__always_inline__)) ~A1() {} -}; - -void g1() { - A1 a1; -} - -struct A2 { - inline __attribute__((__always_inline__)) A2() {} - inline __attribute__((__always_inline__)) ~A2() {} -}; - -void g2() { - A2 a2; -} - -struct A3 { - inline __attribute__((gnu_inline, __always_inline__)) A3() {} - inline __attribute__((gnu_inline, __always_inline__)) ~A3() {} -}; - -void g3() { - A3 a3; -} - -// CHECK-DAG: define internal void @_ZN2A1C1Ev.alwaysinline(%struct.A1* %this) unnamed_addr #[[AI:[01-9]+]] -// CHECK-DAG: define internal void @_ZN2A1C2Ev.alwaysinline(%struct.A1* %this) unnamed_addr #[[AI]] -// CHECK-DAG: define internal void @_ZN2A1D1Ev.alwaysinline(%struct.A1* %this) unnamed_addr #[[AI]] -// CHECK-DAG: define internal void @_ZN2A1D2Ev.alwaysinline(%struct.A1* %this) unnamed_addr #[[AI]] - -// CHECK-DAG: define internal void @_ZN2A2C1Ev.alwaysinline(%struct.A2* %this) unnamed_addr #[[AIIH:[01-9]+]] -// CHECK-DAG: define internal void @_ZN2A2C2Ev.alwaysinline(%struct.A2* %this) unnamed_addr #[[AIIH]] -// CHECK-DAG: define internal void @_ZN2A2D1Ev.alwaysinline(%struct.A2* %this) unnamed_addr #[[AIIH]] -// CHECK-DAG: define internal void @_ZN2A2D2Ev.alwaysinline(%struct.A2* %this) unnamed_addr #[[AIIH]] - -// CHECK-DAG: define internal void @_ZN2A3C1Ev.alwaysinline(%struct.A3* %this) unnamed_addr #[[AIIH]] -// CHECK-DAG: define internal void @_ZN2A3C2Ev.alwaysinline(%struct.A3* %this) unnamed_addr #[[AIIH]] -// CHECK-DAG: define internal void @_ZN2A3D1Ev.alwaysinline(%struct.A3* %this) unnamed_addr #[[AIIH]] -// CHECK-DAG: define internal void @_ZN2A3D2Ev.alwaysinline(%struct.A3* %this) unnamed_addr #[[AIIH]] - -// CHECK-DAG: attributes #[[AI]] = {{.*alwaysinline.*}} -// CHECK-DAG: attributes #[[AIIH]] = {{.*alwaysinline.*inlinehint.*}} -// CHECK-NOT: attributes #[[NOAI]] = {{.*alwaysinline.*}} - -// CHECK-CALL-LABEL: define void @_Z2g1v() -// CHECK-CALL: call void @_ZN2A1C1Ev.alwaysinline -// CHECK-CALL: call void @_ZN2A1D1Ev.alwaysinline -// CHECK-CALL: ret void - -// CHECK-CALL-LABEL: define void @_Z2g2v() -// CHECK-CALL: call void @_ZN2A2C1Ev.alwaysinline -// CHECK-CALL: call void @_ZN2A2D1Ev.alwaysinline -// CHECK-CALL: ret void - -// CHECK-CALL-LABEL: define void @_Z2g3v() -// CHECK-CALL: call void @_ZN2A3C1Ev.alwaysinline -// CHECK-CALL: call void @_ZN2A3D1Ev.alwaysinline -// CHECK-CALL: ret void |