• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -std=c++11 %s -emit-llvm -o - -triple i686-linux-gnu | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ITANIUM
2 // RUN: %clang_cc1 -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 
foo()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 };
B()25 B::B() : A{f(), g()} {}
26 // CHECK-ITANIUM-LABEL: define void @_ZN1BC2Ev
27 // CHECK-MS-LABEL: define dso_local x86_thiscallcc %struct.B* @"??0B@@QAE@XZ"
28 // CHECK: call i32 @f()
29 // CHECK: call i32 @g()
30