+2012-03-06 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.ada/bp_on_var: New testcase.
+
2012-03-06 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/bp_enum_homonym: New testcase.
--- /dev/null
+# Copyright 2012 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/>.
+
+load_lib "ada.exp"
+
+set testdir "bp_on_var"
+set testfile "${testdir}/foo"
+set srcfile ${srcdir}/${subdir}/${testfile}.adb
+set binfile ${objdir}/${subdir}/${testfile}
+
+file mkdir ${objdir}/${subdir}/${testdir}
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+ return -1
+}
+
+# Test inserting breakpoint on pck.my_global_variable.
+
+clean_restart ${testfile}
+
+# We are going to insert breakpoints using locations that are invalid.
+# Set "breakpoint pending" to "off" in order to avoid having to deal
+# with GDB asking whether to insert a pending breakpoint or not.
+gdb_test_no_output "set breakpoint pending off"
+
+gdb_test "break pck.my_global_variable" \
+ "Function \"pck\\.my_global_variable\" not defined\\."
+
+
+# Test inserting breakpoint on pck.my_hidden_variable.
+
+clean_restart ${testfile}
+
+gdb_test_no_output "set breakpoint pending off"
+
+gdb_test "break pck.my_hidden_variable" \
+ "Function \"pck\\.my_hidden_variable\" not defined\\."
--- /dev/null
+-- Copyright 2012 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/>.
+
+with Pck; use Pck;
+procedure Foo is
+begin
+ Do_Something (My_Global_Variable);
+end Foo;
--- /dev/null
+-- Copyright 2012 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
+ My_Hidden_Variable : Integer := 0;
+ procedure Do_Something (I : in out Integer) is
+ begin
+ if My_Hidden_Variable > 10 then
+ My_Hidden_Variable := 0;
+ end if;
+ I := I + My_Hidden_Variable;
+ My_Hidden_Variable := My_Hidden_Variable + 1;
+ end Do_Something;
+end Pck;
+
--- /dev/null
+-- Copyright 2012 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 Pck is
+ My_Global_Variable : Integer := 11;
+ procedure Do_Something (I : in out Integer);
+end Pck;
+