Fixed the objective C symbol parsing in ObjectFileMachO.
authorGreg Clayton <gclayton@apple.com>
Thu, 17 Jul 2014 22:51:31 +0000 (22:51 +0000)
committerGreg Clayton <gclayton@apple.com>
Thu, 17 Jul 2014 22:51:31 +0000 (22:51 +0000)
This fixes all of the hidden ivar test cases and any case where we try to find the full definition of an objective C class.

This also means hidden ivars show up again.

<rdar://problem/15458957>
llvm.org/pr20270
llvm.org/pr20269
llvm.org/pr20272

llvm-svn: 213328

lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py
lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
lldb/test/lang/objc/real-definition/TestRealDefinition.py

index 4b3e2c0..50c663c 100644 (file)
@@ -1669,10 +1669,6 @@ ObjectFileMachO::CreateSections (SectionList &unified_section_list)
 
             offset = load_cmd_offset + load_cmd.cmdsize;
         }
-        
-//        StreamFile s(stdout, false);                    // REMOVE THIS LINE
-//        s.Printf ("Sections for %s:\n", m_file.GetPath().c_str());// REMOVE THIS LINE
-//        m_sections_ap->Dump(&s, NULL, true, UINT32_MAX);// REMOVE THIS LINE
     }
 }
 
@@ -2961,7 +2957,6 @@ ObjectFileMachO::ParseSymtab ()
                                                                             case eSectionTypeData4:
                                                                             case eSectionTypeData8:
                                                                             case eSectionTypeData16:
-                                                                            case eSectionTypeDataPointers:
                                                                                 type = eSymbolTypeData;
                                                                                 break;
                                                                             default:
@@ -3742,7 +3737,6 @@ ObjectFileMachO::ParseSymtab ()
                                         case eSectionTypeData4:
                                         case eSectionTypeData8:
                                         case eSectionTypeData16:
-                                        case eSectionTypeDataPointers:
                                             type = eSymbolTypeData;
                                             break;
                                         default:
index 3939ef5..f8a768c 100644 (file)
@@ -12,7 +12,6 @@ class HiddenIvarsTestCase(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dsym_test
-    @expectedFailureDarwin("llvm.org/20269")
     def test_expr_with_dsym(self):
         if self.getArchitecture() == 'i386':
             self.skipTest("requires modern objc runtime")
@@ -21,7 +20,6 @@ class HiddenIvarsTestCase(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dwarf_test
-    @expectedFailureDarwin("llvm.org/20269")
     def test_expr_with_dwarf(self):
         if self.getArchitecture() == 'i386':
             self.skipTest("requires modern objc runtime")
index e4e13bd..335aab3 100644 (file)
@@ -15,7 +15,6 @@ class ObjCDynamicSBTypeTestCase(TestBase):
 
     @dsym_test
     @skipIfi386
-    @expectedFailureDarwin("llvm.org/pr20270")
     def test_nsimage_dyn_with_dsym(self):
         """Test that we are able to properly report a usable dynamic type."""
         d = {'EXE': self.exe_name}
@@ -25,7 +24,6 @@ class ObjCDynamicSBTypeTestCase(TestBase):
 
     @dwarf_test
     @skipIfi386
-    @expectedFailureDarwin("llvm.org/pr20270")
     def test_nsimage_dyn_with_dwarf(self):
         """Test that we are able to properly report a usable dynamic type."""
         d = {'EXE': self.exe_name}
index ea666ed..dd476fc 100644 (file)
@@ -12,7 +12,6 @@ class TestRealDefinition(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dsym_test
-    @expectedFailureDarwin("llvm.org/pr20272")
     def test_frame_var_after_stop_at_interface_with_dsym(self):
         """Test that we can find the implementation for an objective C type"""
         if self.getArchitecture() == 'i386':
@@ -22,7 +21,6 @@ class TestRealDefinition(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dwarf_test
-    @expectedFailureDarwin("llvm.org/pr20272")
     def test_frame_var_after_stop_at_interface_with_dwarf(self):
         """Test that we can find the implementation for an objective C type"""
         if self.getArchitecture() == 'i386':
@@ -32,7 +30,6 @@ class TestRealDefinition(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dsym_test
-    @expectedFailureDarwin("llvm.org/pr20272")
     def test_frame_var_after_stop_at_implementation_with_dsym(self):
         """Test that we can find the implementation for an objective C type"""
         if self.getArchitecture() == 'i386':
@@ -42,7 +39,6 @@ class TestRealDefinition(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dwarf_test
-    @expectedFailureDarwin("llvm.org/pr20272")
     def test_frame_var_after_stop_at_implementation_with_dwarf(self):
         """Test that we can find the implementation for an objective C type"""
         if self.getArchitecture() == 'i386':