[Lldb-commits] [lldb] fbc13e9 - [lldb] Skip scoped enum checks with Dwarf <4

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 6 17:13:41 PST 2021


Author: Jonas Devlieghere
Date: 2021-01-06T17:13:33-08:00
New Revision: fbc13e9345c7c9607f0c28e0ccfa9a7baf254f29

URL: https://github.com/llvm/llvm-project/commit/fbc13e9345c7c9607f0c28e0ccfa9a7baf254f29
DIFF: https://github.com/llvm/llvm-project/commit/fbc13e9345c7c9607f0c28e0ccfa9a7baf254f29.diff

LOG: [lldb] Skip scoped enum checks with Dwarf <4

The scoped enum tests depend on DW_AT_enum_class which was added in
Dwarf 4.

I made part of the test conditional on the Dwarf version instead of
splitting it into a separate test and using the decorator to avoid the
overhead of setting up the test.

Added: 
    

Modified: 
    lldb/test/API/python_api/type/TestTypeList.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/python_api/type/TestTypeList.py b/lldb/test/API/python_api/type/TestTypeList.py
index ff560de2f96f..359dfe8cf5a9 100644
--- a/lldb/test/API/python_api/type/TestTypeList.py
+++ b/lldb/test/API/python_api/type/TestTypeList.py
@@ -145,25 +145,26 @@ def test(self):
         self.DebugSBType(myint_type)
         self.assertTrue(myint_arr_element_type == myint_type)
 
-        # Test enum methods.
-        enum_type = target.FindFirstType('EnumType')
-        self.assertTrue(enum_type)
-        self.DebugSBType(enum_type)
-        self.assertFalse(enum_type.IsScopedEnumerationType())
-
-        scoped_enum_type = target.FindFirstType('ScopedEnumType')
-        self.assertTrue(scoped_enum_type)
-        self.DebugSBType(scoped_enum_type)
-        self.assertTrue(scoped_enum_type.IsScopedEnumerationType())
-        int_scoped_enum_type = scoped_enum_type.GetEnumerationIntegerType()
-        self.assertTrue(int_scoped_enum_type)
-        self.DebugSBType(int_scoped_enum_type)
-        self.assertEquals(int_scoped_enum_type.GetName(), 'int')
-
-        enum_uchar = target.FindFirstType('EnumUChar')
-        self.assertTrue(enum_uchar)
-        self.DebugSBType(enum_uchar)
-        int_enum_uchar = enum_uchar.GetEnumerationIntegerType()
-        self.assertTrue(int_enum_uchar)
-        self.DebugSBType(int_enum_uchar)
-        self.assertEquals(int_enum_uchar.GetName(), 'unsigned char')
+        # Test enum methods. Requires DW_AT_enum_class which was added in Dwarf 4.
+        if configuration.dwarf_version >= 4:
+            enum_type = target.FindFirstType('EnumType')
+            self.assertTrue(enum_type)
+            self.DebugSBType(enum_type)
+            self.assertFalse(enum_type.IsScopedEnumerationType())
+
+            scoped_enum_type = target.FindFirstType('ScopedEnumType')
+            self.assertTrue(scoped_enum_type)
+            self.DebugSBType(scoped_enum_type)
+            self.assertTrue(scoped_enum_type.IsScopedEnumerationType())
+            int_scoped_enum_type = scoped_enum_type.GetEnumerationIntegerType()
+            self.assertTrue(int_scoped_enum_type)
+            self.DebugSBType(int_scoped_enum_type)
+            self.assertEquals(int_scoped_enum_type.GetName(), 'int')
+
+            enum_uchar = target.FindFirstType('EnumUChar')
+            self.assertTrue(enum_uchar)
+            self.DebugSBType(enum_uchar)
+            int_enum_uchar = enum_uchar.GetEnumerationIntegerType()
+            self.assertTrue(int_enum_uchar)
+            self.DebugSBType(int_enum_uchar)
+            self.assertEquals(int_enum_uchar.GetName(), 'unsigned char')


        


More information about the lldb-commits mailing list