+2015-01-14 Pedro Alves <palves@redhat.com>
+
+ PR gdb/17525
+ * breakpoint.c: Include "interps.h".
+ (bpstat_do_actions_1): Also check whether the interpreter is
+ async.
+
2015-01-14 Pedro Alves <palves@redhat.com>
PR cli/17828
#include "skip.h"
#include "ax-gdb.h"
#include "dummy-frame.h"
-
+#include "interps.h"
#include "format.h"
/* readline include files */
if (breakpoint_proceeded)
{
- if (target_can_async_p ())
+ if (interpreter_async && target_can_async_p ())
/* If we are in async mode, then the target might be still
running, not stopped at any breakpoint, so nothing for
us to do here -- just return to the event loop. */
+2015-01-14 Pedro Alves <palves@redhat.com>
+ Joel Brobecker <brobecker@adacore.com>
+
+ PR gdb/17525
+ * gdb.base/bp-cmds-execution-x-script.c: New file.
+ * gdb.base/bp-cmds-execution-x-script.exp: New file.
+ * gdb.base/bp-cmds-execution-x-script.gdb: New file.
+
2015-01-14 Pedro Alves <palves@redhat.com>
PR cli/17828
--- /dev/null
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+int
+increment (int i)
+{
+ return i + 1;
+}
+
+#define N_INCR 20
+
+int
+main (void)
+{
+ int val = 1;
+ int j;
+
+ for (j = 0; j < N_INCR; j++)
+ val = increment (val);
+ return val == N_INCR;
+}
--- /dev/null
+# Copyright 2015 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/>. */
+
+# Test that GDB isn't silent if it fails to remove a breakpoint from
+# the main program, independently of whether the program was loaded
+# with "file PROGRAM" or directly from the command line with "gdb
+# PROGRAM".
+
+# Test that execution commands in a GDB script file run through -x
+# work as expected. Specifically, the scripts creates a breakpoint
+# that has "continue" in its command list, and then does "run".
+
+standard_testfile
+
+if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
+ return -1
+}
+
+set x_file ${srcdir}/${subdir}/$testfile.gdb
+
+global GDBFLAGS
+set saved_gdbflags $GDBFLAGS
+
+# Run the test proper.
+
+proc test {} {
+ global inferior_exited_re
+ global binfile
+ global gdb_prompt
+ global saved_gdbflags GDBFLAGS
+ global x_file
+
+ gdb_exit
+
+ set GDBFLAGS "$GDBFLAGS -x $x_file $binfile"
+
+ set GDBFLAGS $saved_gdbflags
+ append GDBFLAGS " -ex \"set height unlimited\""
+ append GDBFLAGS " -x \"$x_file\""
+ append GDBFLAGS " --args \"$binfile\""
+
+ set test "run to end"
+
+ gdb_exit
+ set res [gdb_spawn]
+ if { $res != 0} {
+ fail $test
+ return -1
+ }
+
+ gdb_test_multiple "" $test {
+ -re "$inferior_exited_re normally.*$gdb_prompt $" {
+ pass $test
+ }
+ -re "Don't know how to run.*$gdb_prompt $" {
+ unsupported $test
+ }
+ }
+}
+
+test
+
+set GDBFLAGS $saved_gdbflags
--- /dev/null
+# Copyright 2015 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/>. */
+
+break increment
+commands
+ cont
+end
+run