llvm-project/clang/test/SemaCXX/friend-default-parameters.cpp
Dmitry Polukhin e1aaee7ea2
[modules] Handle friend function that was a definition but became only a declaration during AST deserialization (#132214)
Fix for regression #130917, changes in #111992 were too broad. This change reduces scope of previous fix. Added `ExternalASTSource::wasThisDeclarationADefinition` to detect cases when FunctionDecl lost body due to declaration merges.
2025-04-03 08:27:13 +01:00

22 lines
329 B
C++

// RUN: %clang_cc1 -std=c++20 -verify -emit-llvm-only %s
template <int>
void Create(const void* = nullptr);
template <int>
struct ObjImpl {
template <int>
friend void ::Create(const void*);
};
template <int I>
void Create(const void*) {
(void) ObjImpl<I>{};
}
int main() {
Create<42>();
}
// expected-no-diagnostics