1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm %s -o - | \
2 // RUN: FileCheck %s
3 // RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm %s -o - | \
4 // RUN: FileCheck %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 
main()21 int main() {
22 	const A& rca = f();
23 	const A& rca2 = d();
24 }
25 
26 // CHECK: call dereferenceable({{[0-9]+}}) %struct.A* @_ZN1BcvR1AEv
27 // CHECK: call dereferenceable({{[0-9]+}}) %struct.A* @_ZN1BcvR1AEv
28