[Lldb-commits] [PATCH] D138834: [lldb] Fix simple template names interaction with debug info declarations

Michael Buch via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 2 02:47:21 PST 2022


Michael137 added inline comments.


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h:91
 
+  lldb_private::ConstString
+  GetForwardDeclarationDIETemplateParams(const DWARFDIE &die) override;
----------------
Can we add a docstring?


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:2988
+        template_params =
+            dwarf_ast->GetForwardDeclarationDIETemplateParams(die);
+    }
----------------
So after this call we'll have an unnamed `ClassTemplateDecl` hanging off the AST? Doing this inside `FindDefinitionTypeForDWARFDeclContext` instead of `ParseStructureLikeDIE` feels a bit off. But will have to understand this change a bit deeper to know whether there is something we can do about that.

As a side-note, we seem to be accumulating a lot of blocks around LLDB that look like:
```
// Do X because -gsimple-template-names
if (name.contains('<')) {
   // Do something
}
```
Still wonder if there isn't some flag that can be set on, e.g., a CU, that would tell us this.


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3063
+      // With -gsimple-template-names, the DIE name may not contain the template
+      // parameters. If we've the declaration has template parameters but
+      // doesn't contain '<', check that the child template parameters match.
----------------



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138834/new/

https://reviews.llvm.org/D138834



More information about the lldb-commits mailing list