aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2024-04-12 16:13:54 +0200
committerGitHub <noreply@github.com>2024-04-12 16:13:54 +0200
commit9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668 (patch)
tree496c2993444597b62db93d811ea32dbd347fb850
parentf4e3226a6c2bd89247192e4aae395a8deb3868b1 (diff)
downloadllvm-9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668.zip
llvm-9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668.tar.gz
llvm-9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668.tar.bz2
[lldb][test] Add tests for evaluating local variables whose name clashes with Objective-C types (#87807)
Depends on https://github.com/llvm/llvm-project/pull/87767
-rw-r--r--lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py13
-rw-r--r--lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp8
2 files changed, 20 insertions, 1 deletions
diff --git a/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py b/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
index 611c738..3cdca31 100644
--- a/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
+++ b/lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
@@ -13,6 +13,7 @@ class TestObjCBuiltinTypes(TestBase):
# Find the line numbers to break inside main().
self.main_source = "main.cpp"
self.break_line = line_number(self.main_source, "// Set breakpoint here.")
+ self.bar_break_line = line_number(self.main_source, "return id + Class")
@add_test_categories(["pyapi"])
def test_with_python_api(self):
@@ -26,6 +27,11 @@ class TestObjCBuiltinTypes(TestBase):
bpt = target.BreakpointCreateByLocation(self.main_source, self.break_line)
self.assertTrue(bpt, VALID_BREAKPOINT)
+ bar_bpt = target.BreakpointCreateByLocation(
+ self.main_source, self.bar_break_line
+ )
+ self.assertTrue(bar_bpt, VALID_BREAKPOINT)
+
# Now launch the process, and do not stop at entry point.
process = target.LaunchSimple(None, None, self.get_process_working_directory())
@@ -52,3 +58,10 @@ class TestObjCBuiltinTypes(TestBase):
patterns=["\(id\) \$.* = nil"],
)
self.expect("expr --language C++ -- id my_id = 0; my_id", error=True)
+
+ lldbutil.continue_to_breakpoint(process, bar_bpt)
+
+ self.expect_expr("id", result_value="12", result_type="int")
+ self.expect_expr("Class", result_value="15", result_type="int")
+ self.expect("expr --language Objective-C++ -- id", error=True)
+ self.expect("expr --language Objective-C++ -- Class", error=True)
diff --git a/lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp b/lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp
index 6dd8cbc..5b35ec0 100644
--- a/lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp
+++ b/lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp
@@ -2,8 +2,14 @@ namespace ns {
typedef int id;
};
+int bar() {
+ int id = 12;
+ int Class = 15;
+ return id + Class;
+}
+
int main()
{
ns::id foo = 0;
- return foo; // Set breakpoint here.
+ return foo + bar(); // Set breakpoint here.
}