mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 13:16:08 +00:00

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
19 lines
367 B
C++
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);
|
|
}
|