summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-10-28 21:00:00 +0000
committerGreg Clayton <gclayton@apple.com>2011-10-28 21:00:00 +0000
commitd4436412913ba2a00ae2772402cd03c3028fef21 (patch)
tree46f8042707d3bd562241fbbfd43a466dae268f74
parent07ae229048f20422705c54be86b7a4a05c13fb96 (diff)
downloadbcm5719-llvm-d4436412913ba2a00ae2772402cd03c3028fef21.tar.gz
bcm5719-llvm-d4436412913ba2a00ae2772402cd03c3028fef21.zip
Added support for the C++Ox "nullptr_t" type.
llvm-svn: 143225
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp2
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp10
2 files changed, 12 insertions, 0 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
index 576bb3119e4..27d53a882cd 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
@@ -660,6 +660,7 @@ DWARFCompileUnit::Index (const uint32_t cu_idx,
case DW_TAG_typedef:
case DW_TAG_namespace:
case DW_TAG_variable:
+ case DW_TAG_unspecified_type:
break;
default:
@@ -889,6 +890,7 @@ DWARFCompileUnit::Index (const uint32_t cu_idx,
case DW_TAG_structure_type:
case DW_TAG_union_type:
case DW_TAG_typedef:
+ case DW_TAG_unspecified_type:
if (name && is_declaration == false)
{
types.Insert (ConstString(name), die.GetOffset());
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
index 52eb0913cb4..1e2a57231a7 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -3808,6 +3808,7 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
case DW_TAG_const_type:
case DW_TAG_restrict_type:
case DW_TAG_volatile_type:
+ case DW_TAG_unspecified_type:
{
// Set a bit that lets us know that we are currently parsing this
m_die_to_type[die] = DIE_IS_BEING_PARSED;
@@ -3861,6 +3862,15 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
default:
break;
+ case DW_TAG_unspecified_type:
+ if (strcmp(type_name_cstr, "nullptr_t") == 0)
+ {
+ resolve_state = Type::eResolveStateFull;
+ clang_type = ast.getASTContext()->NullPtrTy.getAsOpaquePtr();
+ break;
+ }
+ // Fall through to base type below in case we can handle the type there...
+
case DW_TAG_base_type:
resolve_state = Type::eResolveStateFull;
clang_type = ast.GetBuiltinTypeForDWARFEncodingAndBitSize (type_name_cstr,
OpenPOWER on IntegriCloud