Author: Michael Buch
Date: 2022-08-25T08:49:13+01:00
New Revision: 9427487fdbb24df148caba7f9b2f87146e5b40ec

URL: 
https://github.com/llvm/llvm-project/commit/9427487fdbb24df148caba7f9b2f87146e5b40ec
DIFF: 
https://github.com/llvm/llvm-project/commit/9427487fdbb24df148caba7f9b2f87146e5b40ec.diff

LOG: [lldb][Test] Prevent generating DW_AT_location for unused argument

This test simply checks whether we can print an optimized
function argument. With recent changes to Clang the assumption
that we don't generate a `DW_AT_location` attribute for the
unused funciton parameter breaks.

This patch tries harder to get Clang to drop the location
from DWARF by making it generate an `undef` for `unused1`.
Drop the check for `unused2` since it adds no benefit.

Differential Revision: https://reviews.llvm.org/D132635

Added: 
    

Modified: 
    
lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
    lldb/test/API/functionalities/unused-inlined-parameters/main.c

Removed: 
    


################################################################################
diff  --git 
a/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
 
b/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
index 2b4cbf7ce7f4e..c80f398b4cbb8 100644
--- 
a/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
+++ 
b/lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
@@ -17,5 +17,3 @@ def test_unused_inlined_parameters(self):
         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
index f2ef5dcc213dd..6f79221daa4c1 100644
--- a/lldb/test/API/functionalities/unused-inlined-parameters/main.c
+++ b/lldb/test/API/functionalities/unused-inlined-parameters/main.c
@@ -2,11 +2,12 @@
 
 __attribute__((optnone)) __attribute__((nodebug)) void use(int used) {}
 
-__attribute__((always_inline)) void f(void *unused1, int used, int unused2) {
+__attribute__((always_inline)) void f(void *unused1, int used) {
   use(used); // break here
 }
 
 int main(int argc, char **argv) {
-  f(argv, 42, 1);
+  char *undefined;
+  f(undefined, 42);
   return 0;
-}
\ No newline at end of file
+}


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to