From 359cc68c808f70750a020c9bb76de330735a3202 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Wed, 2 Jun 2010 17:35:16 +0000 Subject: [PATCH] gdb/testsuite/ * gdb.cp/re-set-overloaded.exp, gdb.cp/re-set-overloaded.cc: New. --- gdb/testsuite/ChangeLog | 4 ++ gdb/testsuite/gdb.cp/re-set-overloaded.cc | 26 +++++++++ gdb/testsuite/gdb.cp/re-set-overloaded.exp | 61 ++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 gdb/testsuite/gdb.cp/re-set-overloaded.cc create mode 100644 gdb/testsuite/gdb.cp/re-set-overloaded.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3cae6ff5a40..f46bede0263 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-06-02 Jan Kratochvil + + * gdb.cp/re-set-overloaded.exp, gdb.cp/re-set-overloaded.cc: New. + 2010-06-02 Sami Wagiaalla * gdb.cp/koenig.exp: Added new test case. diff --git a/gdb/testsuite/gdb.cp/re-set-overloaded.cc b/gdb/testsuite/gdb.cp/re-set-overloaded.cc new file mode 100644 index 00000000000..9ce898e2227 --- /dev/null +++ b/gdb/testsuite/gdb.cp/re-set-overloaded.cc @@ -0,0 +1,26 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2010 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 . */ + +class C + { + public: + C() {} + C(int x) {} + }; + +C a; +C b(1); diff --git a/gdb/testsuite/gdb.cp/re-set-overloaded.exp b/gdb/testsuite/gdb.cp/re-set-overloaded.exp new file mode 100644 index 00000000000..94f760d47dd --- /dev/null +++ b/gdb/testsuite/gdb.cp/re-set-overloaded.exp @@ -0,0 +1,61 @@ +# Copyright 2010 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 . + +if { [skip_cplus_tests] } { continue } +if { [skip_shlib_tests] } { continue } + +set testfile re-set-overloaded +set srcfile bool.cc +set executable $testfile +set binfile $objdir/$subdir/$executable + +set libsrcfile ${testfile}.cc +set sofile $objdir/$subdir/${testfile}.so + +# Create and source the file that provides information about the compiler +# used to compile the test case. +if [get_compiler_info ${binfile} "c++"] { + return -1 +} + +if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++}] != "" + || [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug "c++" shlib=${sofile}]] != ""} { + untested ${testfile}.exp + return -1 +} + +clean_restart $executable +gdb_load_shlibs ${sofile} + +gdb_test_no_output "set breakpoint pending yes" +gdb_test "break C::C" {Breakpoint [0-9]+ \(C::C\) pending\.} "break C::C" +gdb_test_no_output {set variable $brk = $bpnum} + +# runto or runto_main would call delete_breakpoints. +gdb_breakpoint "main" +gdb_run_cmd +setup_kfail breakpoints/11657 *-*-* +gdb_test "" ".*" "start" + +set test "breakpoint resolved" +gdb_test_multiple {info breakpoints $brk} $test { + -re "" { + kfail breakpoints/11657 $test + } + -re "\r\n$gdb_prompt $" { + # FIXME: Check more specific resolution state. + pass $test + } +} -- 2.30.2