1 // RUN: %clang_cc1 -no-opaque-pointers -std=c++11 %s -emit-llvm -o - -triple i686-linux-gnu | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ITANIUM 2 // RUN: %clang_cc1 -no-opaque-pointers -std=c++11 %s -emit-llvm -o - -triple i686-windows | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MS 3 4 extern "C" { 5 int f(); 6 int g(); 7 } 8 9 struct A { 10 A(int, int); 11 }; 12 13 14 void foo() { 15 A a{f(), g()}; 16 } 17 // CHECK-ITANIUM-LABEL: define{{.*}} void @_Z3foov 18 // CHECK-MS-LABEL: define dso_local void @"?foo@@YAXXZ" 19 // CHECK: call i32 @f() 20 // CHECK: call i32 @g() 21 22 struct B : A { 23 B(); 24 }; 25 B::B() : A{f(), g()} {} 26 // CHECK-ITANIUM-LABEL: define{{.*}} void @_ZN1BC2Ev 27 // CHECK-MS-LABEL: define dso_local x86_thiscallcc noundef %struct.B* @"??0B@@QAE@XZ" 28 // CHECK: call i32 @f() 29 // CHECK: call i32 @g() 30