Michael137 updated this revision to Diff 453250.
Michael137 added a comment.

- Make XFAIL more specific


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132004/new/

https://reviews.llvm.org/D132004

Files:
  
lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py


Index: 
lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
===================================================================
--- 
lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
+++ 
lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
@@ -67,12 +67,6 @@
         self.expect_expr("A::scoped_ll_enum_val_neg", result_value="case0")
         self.expect_expr("A::scoped_ll_enum_val", result_value="case2")
 
-        # Test an aliased enum with fixed underlying type.
-        self.expect_expr("ClassWithEnumAlias::enum_alias",
-                         result_value="scoped_enum_case2")
-        self.expect_expr("ClassWithEnumAlias::enum_alias_alias",
-                         result_value="scoped_enum_case1")
-
         # Test taking address.
         if lldbplatformutil.getPlatform() == "windows":
             # On Windows data members without the out-of-class definitions 
still have
@@ -98,7 +92,20 @@
 
         self.expect_expr("ClassWithOnlyConstStatic::member", result_value="3")
 
+    # With older versions of Clang, LLDB fails to evaluate classes with only
+    # constexpr members when dsymutil is enabled
+    @expectedFailureAll(debug_info=["dsym"], compiler=["clang"], 
compiler_version=["<", "14.0"])
+    def test_class_with_only_constexpr_static(self):
+        self.build()
+        lldbutil.run_to_source_breakpoint(self, "// break here", 
lldb.SBFileSpec("main.cpp"))
+
         # Test `constexpr static`.
         self.expect_expr("ClassWithConstexprs::member", result_value="2")
         self.expect_expr("ClassWithConstexprs::enum_val", 
result_value="enum_case2")
         self.expect_expr("ClassWithConstexprs::scoped_enum_val", 
result_value="scoped_enum_case2")
+
+        # Test an aliased enum with fixed underlying type.
+        self.expect_expr("ClassWithEnumAlias::enum_alias",
+                         result_value="scoped_enum_case2")
+        self.expect_expr("ClassWithEnumAlias::enum_alias_alias",
+                         result_value="scoped_enum_case1")


Index: lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
===================================================================
--- lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
+++ lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
@@ -67,12 +67,6 @@
         self.expect_expr("A::scoped_ll_enum_val_neg", result_value="case0")
         self.expect_expr("A::scoped_ll_enum_val", result_value="case2")
 
-        # Test an aliased enum with fixed underlying type.
-        self.expect_expr("ClassWithEnumAlias::enum_alias",
-                         result_value="scoped_enum_case2")
-        self.expect_expr("ClassWithEnumAlias::enum_alias_alias",
-                         result_value="scoped_enum_case1")
-
         # Test taking address.
         if lldbplatformutil.getPlatform() == "windows":
             # On Windows data members without the out-of-class definitions still have
@@ -98,7 +92,20 @@
 
         self.expect_expr("ClassWithOnlyConstStatic::member", result_value="3")
 
+    # With older versions of Clang, LLDB fails to evaluate classes with only
+    # constexpr members when dsymutil is enabled
+    @expectedFailureAll(debug_info=["dsym"], compiler=["clang"], compiler_version=["<", "14.0"])
+    def test_class_with_only_constexpr_static(self):
+        self.build()
+        lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.cpp"))
+
         # Test `constexpr static`.
         self.expect_expr("ClassWithConstexprs::member", result_value="2")
         self.expect_expr("ClassWithConstexprs::enum_val", result_value="enum_case2")
         self.expect_expr("ClassWithConstexprs::scoped_enum_val", result_value="scoped_enum_case2")
+
+        # Test an aliased enum with fixed underlying type.
+        self.expect_expr("ClassWithEnumAlias::enum_alias",
+                         result_value="scoped_enum_case2")
+        self.expect_expr("ClassWithEnumAlias::enum_alias_alias",
+                         result_value="scoped_enum_case1")
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits]... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Adrian Prantl via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Felipe de Azevedo Piovezan via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Felipe de Azevedo Piovezan via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Michael Buch via Phabricator via lldb-commits
    • [Lldb-com... Felipe de Azevedo Piovezan via Phabricator via lldb-commits

Reply via email to