================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits