Fixed the objective C symbol parsing in ObjectFileMachO.
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
This commit is contained in:
parent
407cc21c32
commit
26a15efa77
|
@ -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:
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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':
|
||||
|
|
Loading…
Reference in New Issue