summaryrefslogtreecommitdiff
path: root/lldb/test/API/lang/cpp/enum_promotion
AgeCommit message (Collapse)Author
2025-02-13[lldb][test] TestCPPEnumPromotion: make sure enums are preserved in dSYMMichael Buch
On macOS CI this was failing with: ``` FAIL: test_dsym (TestCPPEnumPromotion.TestCPPEnumPromotion) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1784, in test_method return attrvalue(self) File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py", line 28, in test self.expect_expr("+EnumUChar::UChar", result_type=UChar_promoted.type.name) File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2540, in expect_expr value_check.check_value(self, eval_result, str(eval_result)) File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 299, in check_value test_base.assertSuccess(val.GetError()) File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2575, in assertSuccess self.fail(self._formatMessage(msg, "'{}' is not success".format(error))) AssertionError: 'error: <user expression 0>:1:2: use of undeclared identifier 'EnumUChar' 1 | +EnumUChar::UChar | ^ ' is not success ``` But only for the `dSYM` variant of the test. Looking at the dSYM, none of the enums are actually preserved in the debug-info. We have to actually use the enum types in source to get dsymutil to preserve them. This patch does just that.
2025-02-13[lldb] Analyze enum promotion type during parsing (#115005)Ilia Kuklin
The information about an enum's best promotion type is discarded after compilation and is not present in debug info. This patch repeats the same analysis of each enum value as in the front-end to determine the best promotion type during DWARF info parsing. Fixes #86989