[pushed] Preserve a local variable in a gdb test

Message ID 20250318123127.1778056-1-tromey@adacore.com
State New
Headers
Series [pushed] Preserve a local variable in a gdb test |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 fail Patch failed to apply
linaro-tcwg-bot/tcwg_gdb_build--master-arm fail Patch failed to apply

Commit Message

Tom Tromey March 18, 2025, 12:31 p.m. UTC
  I found another Ada test where LLVM optimizes away an unused local
variable.  This patch fixes this problem -- but note the test now
fails for a different (currently expected) reason.
---
 gdb/testsuite/gdb.ada/static-link/pck.adb  | 23 ++++++++++++++++++++++
 gdb/testsuite/gdb.ada/static-link/pck.ads  |  3 +++
 gdb/testsuite/gdb.ada/static-link/prog.adb |  2 ++
 3 files changed, 28 insertions(+)
 create mode 100644 gdb/testsuite/gdb.ada/static-link/pck.adb


base-commit: 1038e933021fb011d6680ff411ca6d02502dc883
  

Patch

diff --git a/gdb/testsuite/gdb.ada/static-link/pck.adb b/gdb/testsuite/gdb.ada/static-link/pck.adb
new file mode 100644
index 00000000000..9ced74f76d8
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/static-link/pck.adb
@@ -0,0 +1,23 @@ 
+--  Copyright 2025 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+
+end Pck;
diff --git a/gdb/testsuite/gdb.ada/static-link/pck.ads b/gdb/testsuite/gdb.ada/static-link/pck.ads
index e241408aca8..4d7618fc91a 100644
--- a/gdb/testsuite/gdb.ada/static-link/pck.ads
+++ b/gdb/testsuite/gdb.ada/static-link/pck.ads
@@ -13,6 +13,9 @@ 
 --  You should have received a copy of the GNU General Public License
 --  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+with System;
 package Pck is
    Some_Value : Integer := 3;
+
+   procedure Do_Nothing (A : System.Address);
 end Pck;
diff --git a/gdb/testsuite/gdb.ada/static-link/prog.adb b/gdb/testsuite/gdb.ada/static-link/prog.adb
index 75f07eb58c7..1b5dbd58af1 100644
--- a/gdb/testsuite/gdb.ada/static-link/prog.adb
+++ b/gdb/testsuite/gdb.ada/static-link/prog.adb
@@ -32,4 +32,6 @@  procedure Prog is
 
 begin
    Intermediate;
+   Do_Nothing (Upper'Address);
+   Do_Nothing (Value'Address);
 end Prog;