// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm %s -o - | \ | |
// RUN: FileCheck %s | |
// RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm %s -o - | \ | |
// RUN: FileCheck %s | |
struct A {}; | |
struct B | |
{ | |
operator A&(); | |
}; | |
struct D : public B { | |
operator A(); | |
}; | |
extern B f(); | |
extern D d(); | |
int main() { | |
const A& rca = f(); | |
const A& rca2 = d(); | |
} | |
// CHECK: call dereferenceable({{[0-9]+}}) %struct.A* @_ZN1BcvR1AEv | |
// CHECK: call dereferenceable({{[0-9]+}}) %struct.A* @_ZN1BcvR1AEv |