cast-conversion.cpp revision 762bb9d0ad20320b9f97a841dce57ba5e8e48b07
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 7struct A { 8 A(int); 9}; 10 11struct B { 12 B(A); 13}; 14 15int 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