aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2004-02-11 18:04:14 +0000
committerDavid Carlton <carlton@bactrian.org>2004-02-11 18:04:14 +0000
commit87b3ede8aff95551e9bc26afbfb143c4c0941095 (patch)
tree5ba8de2e41b029cc75f29e080da2eda3928a7bd2 /gdb/testsuite
parent3769cd82e7bdef38faa51ea5b0c62cf3d1456b6b (diff)
downloadgdb-87b3ede8aff95551e9bc26afbfb143c4c0941095.zip
gdb-87b3ede8aff95551e9bc26afbfb143c4c0941095.tar.gz
gdb-87b3ede8aff95551e9bc26afbfb143c4c0941095.tar.bz2
2004-02-11 David Carlton <carlton@kealia.com>
* linespec.c (decode_compound): Only look for a class symbol when considering all but the rightmost component. 2004-02-11 David Carlton <carlton@kealia.com> * gdb.cp/breakpoint.exp: New. * gdb.cp/breakpoint.cc: New.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.cp/breakpoint.cc41
-rw-r--r--gdb/testsuite/gdb.cp/breakpoint.exp65
3 files changed, 111 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4ea1cb4..fb73ed1 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-11 David Carlton <carlton@kealia.com>
+
+ * gdb.cp/breakpoint.exp: New.
+ * gdb.cp/breakpoint.cc: New.
+
2004-02-11 Michael Chastain <mec.gnu@mindspring.com>
Partial fix for PR gdb/1543.
diff --git a/gdb/testsuite/gdb.cp/breakpoint.cc b/gdb/testsuite/gdb.cp/breakpoint.cc
new file mode 100644
index 0000000..266007c
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/breakpoint.cc
@@ -0,0 +1,41 @@
+/* Code to go along with tests in breakpoint.exp.
+
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 2 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+class C1 {
+public:
+ class Nested {
+ public:
+ int
+ foo ()
+ {
+ return 1;
+ }
+ };
+};
+
+int main ()
+{
+ C1::Nested c1;
+
+ c1.foo();
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.cp/breakpoint.exp b/gdb/testsuite/gdb.cp/breakpoint.exp
new file mode 100644
index 0000000..c85f805
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/breakpoint.exp
@@ -0,0 +1,65 @@
+# Copyright 2004 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 2 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# This file is part of the gdb testsuite.
+
+# This contains tests for breakpoints in C++.
+
+if $tracelevel then {
+ strace $tracelevel
+ }
+
+if { [skip_cplus_tests] } { continue }
+
+#
+# test running programs
+#
+set prms_id 0
+set bug_id 0
+
+set testfile "breakpoint"
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+if [get_compiler_info ${binfile} "c++"] {
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+proc test_breakpoint {name} {
+ # Restart the program every time, so that a single failure doesn't
+ # lead to a cascade.
+ if ![runto_main] then {
+ perror "couldn't run to main when testing ${name}"
+ continue
+ } else {
+ gdb_breakpoint "${name}"
+ gdb_test "continue" "Continuing.\r\n\r\nBreakpoint \[0-9\]*, ${name}.*" "continue to ${name}"
+ }
+}
+
+test_breakpoint "C1::Nested::foo"
+
+gdb_exit
+return 0