[clang] Fix missing initializer for inline static template member with auto caused by delayed template instantiation. (PR #138122)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Thu May 1 05:13:10 PDT 2025


================
@@ -6027,8 +6027,15 @@ void Sema::BuildVariableInstantiation(
   Context.setManglingNumber(NewVar, Context.getManglingNumber(OldVar));
   Context.setStaticLocalNumber(NewVar, Context.getStaticLocalNumber(OldVar));
 
+  bool VarTemplateWithAutoType = false;
+  QualType VarSourceType = OldVar->getTypeSourceInfo()->getType();
+  if (VarSourceType->getAs<AutoType>()) {
+    VarTemplateWithAutoType = true;
+  }
+
----------------
zyn0217 wrote:

```suggestion
  bool VarTemplateWithAutoType = OldVar->getTypeSourceInfo()->getType()->getAs<AutoType>();
```

Can we avoid getTypeSourceInfo?

https://github.com/llvm/llvm-project/pull/138122


More information about the cfe-commits mailing list