llvm-project/clang/test/CodeGenCXX/friend-redecl.cpp
Douglas Gregor 2575631c0f When IRgen refers to a function declaration that is not a definition,
and we later find the definition, make sure that we add the definition
(not the declaration) to the list of deferred definitions to
emit. Fixes PR8864.

Thanks to Nick Lewycky for testing this	patch out

llvm-svn: 125157
2011-02-09 02:03:05 +00:00

19 lines
367 B
C++

// RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm %s -o - | FileCheck %s
// PR8864
struct Foo {
friend bool TryFoo(Foo *f2) { return TryFoo(0, f2); }
// CHECK: define{{.*}}Z6TryFooP3Foo
// CHECK-NOT: ret
// CHECK: call{{.*}}Z6TryFooiP3Foo
// CHECK: ret
friend bool TryFoo(int, Foo *f3);
};
bool TryFoo(Foo *f5);
int main(void) {
Foo f;
TryFoo(&f);
}