diff options
| author | Greg Clayton <gclayton@apple.com> | 2011-10-28 21:00:00 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2011-10-28 21:00:00 +0000 |
| commit | d4436412913ba2a00ae2772402cd03c3028fef21 (patch) | |
| tree | 46f8042707d3bd562241fbbfd43a466dae268f74 | |
| parent | 07ae229048f20422705c54be86b7a4a05c13fb96 (diff) | |
| download | bcm5719-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.cpp | 2 | ||||
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 10 |
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, |

