summaryrefslogtreecommitdiff
path: root/lldb/test/API/functionalities
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/API/functionalities')
-rw-r--r--lldb/test/API/functionalities/unused-inlined-parameters/Makefile4
-rw-r--r--lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py22
-rw-r--r--lldb/test/API/functionalities/unused-inlined-parameters/main.c12
3 files changed, 38 insertions, 0 deletions
diff --git a/lldb/test/API/functionalities/unused-inlined-parameters/Makefile b/lldb/test/API/functionalities/unused-inlined-parameters/Makefile
new file mode 100644
index 000000000000..0b283dea0b8c
--- /dev/null
+++ b/lldb/test/API/functionalities/unused-inlined-parameters/Makefile
@@ -0,0 +1,4 @@
+C_SOURCES := main.c
+CFLAGS_EXTRAS := -O1
+
+include Makefile.rules
diff --git a/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py b/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
new file mode 100644
index 000000000000..593773a60069
--- /dev/null
+++ b/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
@@ -0,0 +1,22 @@
+"""
+Test that unused inlined parameters are displayed.
+"""
+
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestUnusedInlinedParameters(TestBase):
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test_unused_inlined_parameters(self):
+ self.build()
+ lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.c"))
+
+ # For the unused parameters, only check the types.
+ self.assertIn("(void *) unused1 = <no location, value may have been optimized out>",
+ lldbutil.get_description(self.frame().FindVariable("unused1")))
+ self.assertEqual(42, self.frame().FindVariable("used").GetValueAsUnsigned())
+ self.assertIn("(int) unused2 = <no location, value may have been optimized out>",
+ lldbutil.get_description(self.frame().FindVariable("unused2")))
diff --git a/lldb/test/API/functionalities/unused-inlined-parameters/main.c b/lldb/test/API/functionalities/unused-inlined-parameters/main.c
new file mode 100644
index 000000000000..f2ef5dcc213d
--- /dev/null
+++ b/lldb/test/API/functionalities/unused-inlined-parameters/main.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+__attribute__((optnone)) __attribute__((nodebug)) void use(int used) {}
+
+__attribute__((always_inline)) void f(void *unused1, int used, int unused2) {
+ use(used); // break here
+}
+
+int main(int argc, char **argv) {
+ f(argv, 42, 1);
+ return 0;
+} \ No newline at end of file