[Lldb-commits] [clang] [lldb] [Clang] Initial support for P2841 (Variable template and concept template parameters) (PR #150823)

Corentin Jabot via lldb-commits lldb-commits at lists.llvm.org
Tue Jul 29 01:37:21 PDT 2025


================
@@ -2187,6 +2189,27 @@ TemplateName TemplateInstantiator::TransformTemplateName(
                                           AllowInjectedClassName);
 }
 
+TemplateArgument TemplateInstantiator::TransformNamedTemplateTemplateArgument(
+    CXXScopeSpec &SS, TemplateName Name, SourceLocation NameLoc) {
+  if (TemplateTemplateParmDecl *TTP =
+          dyn_cast_or_null<TemplateTemplateParmDecl>(
+              Name.getAsTemplateDecl())) {
+    if (TTP->getDepth() < TemplateArgs.getNumLevels()) {
+      // If the corresponding template argument is NULL or non-existent, it's
+      // because we are performing instantiation from explicitly-specified
+      // template arguments in a function template, but there were some
+      // arguments left unspecified.
+      if (!TemplateArgs.hasTemplateArgument(TTP->getDepth(),
+                                            TTP->getPosition()))
+        return TemplateArgument(Name);
+    }
----------------
cor3ntin wrote:

Indeed, thanks!

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


More information about the lldb-commits mailing list