[clang] Fix missing initializer for inline static template member with auto caused by delayed template instantiation. (PR #138122)
via cfe-commits
cfe-commits at lists.llvm.org
Thu May 8 23:28:34 PDT 2025
================
@@ -6027,8 +6027,12 @@ void Sema::BuildVariableInstantiation(
Context.setManglingNumber(NewVar, Context.getManglingNumber(OldVar));
Context.setStaticLocalNumber(NewVar, Context.getStaticLocalNumber(OldVar));
+ bool VarTemplateWithAutoType =
+ OldVar->getTypeSourceInfo()->getType()->getAs<AutoType>();
+
// Figure out whether to eagerly instantiate the initializer.
- if (InstantiatingVarTemplate || InstantiatingVarTemplatePartialSpec) {
+ if (!VarTemplateWithAutoType &&
+ (InstantiatingVarTemplate || InstantiatingVarTemplatePartialSpec)) {
----------------
dty2 wrote:
Oh, I realized my mistake, thank you for correcting me.
https://github.com/llvm/llvm-project/pull/138122
More information about the cfe-commits
mailing list