[Lldb-commits] [lldb] r143225 - in /lldb/trunk/source/Plugins/SymbolFile/DWARF: DWARFCompileUnit.cpp SymbolFileDWARF.cpp

Greg Clayton gclayton at apple.com
Fri Oct 28 14:00:00 PDT 2011


Author: gclayton
Date: Fri Oct 28 16:00:00 2011
New Revision: 143225

URL: http://llvm.org/viewvc/llvm-project?rev=143225&view=rev
Log:
Added support for the C++Ox "nullptr_t" type.


Modified:
    lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
    lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp?rev=143225&r1=143224&r2=143225&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp Fri Oct 28 16:00:00 2011
@@ -660,6 +660,7 @@
         case DW_TAG_typedef:
         case DW_TAG_namespace:
         case DW_TAG_variable:
+        case DW_TAG_unspecified_type:
             break;
             
         default:
@@ -889,6 +890,7 @@
         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());

Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp?rev=143225&r1=143224&r2=143225&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Fri Oct 28 16:00:00 2011
@@ -3808,6 +3808,7 @@
             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 @@
                     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, 





More information about the lldb-commits mailing list