diff options
| author | Greg Clayton <gclayton@apple.com> | 2010-10-15 02:03:22 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2010-10-15 02:03:22 +0000 |
| commit | 69b0488d7a5a57490c456d6252c9d3c5604ace0e (patch) | |
| tree | bd07964e71855e613621407f9ea99ae8b958c658 /lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp | |
| parent | 6f717ec1d7fbd2a2e675ec5fab7e081664184fa2 (diff) | |
| download | bcm5719-llvm-69b0488d7a5a57490c456d6252c9d3c5604ace0e.tar.gz bcm5719-llvm-69b0488d7a5a57490c456d6252c9d3c5604ace0e.zip | |
Separated the DWARF index for types from that the index of the namespaces
since we can't parse DW_TAG_namespace DIEs as types. They are only decls in
clang. All of the types we handle right now have both clang "XXXType" classes
to go with the "XXXDecl" classes which means they can be used within the
lldb_private::Type class. I need to check to see which other decls that don't
have associated type objects need to float around the debugger and possibly
make a lldb_private::Decl class to manage them.
llvm-svn: 116558
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp index 2f882f7ab58..16368e1621b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp @@ -571,6 +571,7 @@ DWARFCompileUnit::Index NameToDIE& objc_class_selector_dies, NameToDIE& name_to_global_die, NameToDIE& name_to_type_die, + NameToDIE& name_to_namespace_die, const DWARFDebugRanges *debug_ranges, DWARFDebugAranges *aranges ) @@ -874,13 +875,17 @@ DWARFCompileUnit::Index case DW_TAG_structure_type: case DW_TAG_union_type: case DW_TAG_typedef: - case DW_TAG_namespace: if (name && is_declaration == false) { name_to_type_die.Insert (ConstString(name), die_info); } break; + case DW_TAG_namespace: + if (name) + name_to_namespace_die.Insert (ConstString(name), die_info); + break; + case DW_TAG_variable: if (name && has_location && is_global_or_static_variable) { |

