1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -S %s -o %t-64.s 2 // RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s 3 // RUN: %clang_cc1 -triple i386-apple-darwin -S %s -o %t-32.s 4 // RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s 5 6 struct A {}; 7 8 struct B 9 { 10 operator A&(); 11 }; 12 13 14 struct D : public B { 15 operator A(); 16 }; 17 18 extern B f(); 19 extern D d(); 20 21 int main() { 22 const A& rca = f(); 23 const A& rca2 = d(); 24 } 25 26 // CHECK-LP64: callq __ZN1BcvR1AEv 27 // CHECK-LP64: callq __ZN1BcvR1AEv 28 29 // CHECK-LP32: calll L__ZN1BcvR1AEv 30 // CHECK-LP32: calll L__ZN1BcvR1AEv 31