1 // REQUIRES: x86-registered-target,x86-64-registered-target 2 // RUN: %clang_cc1 -triple x86_64-apple-darwin -std=c++11 -S %s -o %t-64.s 3 // RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s 4 // RUN: %clang_cc1 -triple i386-apple-darwin -std=c++11 -S %s -o %t-32.s 5 // RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s 6 7 struct A { 8 A(int); 9 }; 10 11 struct B { 12 B(A); 13 }; 14 15 int main () { 16 (B)10; 17 B(10); 18 static_cast<B>(10); 19 } 20 21 // CHECK-LP64: callq __ZN1AC1Ei 22 // CHECK-LP64: callq __ZN1BC1E1A 23 // CHECK-LP64: callq __ZN1AC1Ei 24 // CHECK-LP64: callq __ZN1BC1E1A 25 // CHECK-LP64: callq __ZN1AC1Ei 26 // CHECK-LP64: callq __ZN1BC1E1A 27 28 // CHECK-LP32: calll L__ZN1AC1Ei 29 // CHECK-LP32: calll L__ZN1BC1E1A 30 // CHECK-LP32: calll L__ZN1AC1Ei 31 // CHECK-LP32: calll L__ZN1BC1E1A 32 // CHECK-LP32: calll L__ZN1AC1Ei 33 // CHECK-LP32: calll L__ZN1BC1E1A 34