diff options
Diffstat (limited to 'lldb/test/API/functionalities')
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 |
