[clang] [clang] separate recursive instantiation check from CodeSynthesisContext (PR #162224)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 7 06:13:17 PDT 2025
================
@@ -3864,6 +3863,15 @@ bool Sema::InstantiateInClassInitializer(
Pattern->getInClassInitStyle() &&
"pattern and instantiation disagree about init style");
+ RecursiveInstGuard AlreadyInstantiating(*this, Instantiation,
+ RecursiveInstGuard::Kind::Template);
+ if (AlreadyInstantiating) {
+ // Error out if we hit an instantiation cycle for this initializer.
+ Diag(PointOfInstantiation, diag::err_default_member_initializer_cycle)
----------------
erichkeane wrote:
```suggestion
return Diag(PointOfInstantiation, diag::err_default_member_initializer_cycle)
```
https://github.com/llvm/llvm-project/pull/162224
More information about the cfe-commits
mailing list