================
@@ -2125,9 +2125,9 @@ bool DWARFASTParserClang::ParseTemplateDIE(
       if (tag == DW_TAG_template_value_parameter && uval64_valid) {
         if (auto value = MakeAPValue(ast, clang_type, uval64)) {
           template_param_infos.InsertArg(
-              name, clang::TemplateArgument(
-                        ast, ClangUtil::GetQualType(clang_type),
-                        std::move(*value), is_default_template_arg));
+              name,
+              clang::TemplateArgument(ast, ClangUtil::GetQualType(clang_type),
+                                      std::move(*value)));
----------------
Michael137 wrote:

This is where the problem that we fixed originally lies. LLDB needs to 
communicate to Clang that a `TemplateArgument` corresponds to a defaulted 
value. That's encoded in DWARF. Setting it on `TemplateArgument` here was the 
only way to tell Clang's `TypePrinter` about this (AFAIK). I'm aware that the 
defaulted-ness is already encoded in the AST elsewhere, but because of the way 
that templates are encoded in DWARF, we can't really make use of that. Long 
story short, we can't call `setDefaultArgument` from LLDB. Of course I'm happy 
to consider alternatives if we can make the test-cases work as they do now

https://github.com/llvm/llvm-project/pull/155120
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to