summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-10-15 02:03:22 +0000
committerGreg Clayton <gclayton@apple.com>2010-10-15 02:03:22 +0000
commit69b0488d7a5a57490c456d6252c9d3c5604ace0e (patch)
treebd07964e71855e613621407f9ea99ae8b958c658 /lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
parent6f717ec1d7fbd2a2e675ec5fab7e081664184fa2 (diff)
downloadbcm5719-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.cpp7
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)
{
OpenPOWER on IntegriCloud