]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Preserve a local variable in a gdb test
authorTom Tromey <tromey@adacore.com>
Mon, 17 Mar 2025 17:58:03 +0000 (11:58 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 18 Mar 2025 12:32:45 +0000 (06:32 -0600)
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 [new file with mode: 0644]
gdb/testsuite/gdb.ada/static-link/pck.ads
gdb/testsuite/gdb.ada/static-link/prog.adb

diff --git a/gdb/testsuite/gdb.ada/static-link/pck.adb b/gdb/testsuite/gdb.ada/static-link/pck.adb
new file mode 100644 (file)
index 0000000..9ced74f
--- /dev/null
@@ -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;
index e241408aca8b5f9dab681fcf239aac1c22383dd3..4d7618fc91acb79d86958b843253916717b940ab 100644 (file)
@@ -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;
index 75f07eb58c714262d863e158a161592f87675137..1b5dbd58af1119e982392e10064e651b028c101d 100644 (file)
@@ -32,4 +32,6 @@ procedure Prog is
 
 begin
    Intermediate;
+   Do_Nothing (Upper'Address);
+   Do_Nothing (Value'Address);
 end Prog;