From: Michael Chastain Date: Thu, 8 Jan 2004 08:00:55 +0000 (+0000) Subject: 2004-01-07 Michael Chastain X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0fd3b50324f001af775486119d8cf44721694755;p=binutils-gdb.git 2004-01-07 Michael Chastain * gdb.hp/gdb.defects/bs15503.exp: Renamed to gdb.cp/bs15503.exp. * gdb.hp/gdb.defects/bs15503.cc: Renamed to gdb.cp/bs15503.cc. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ca32e6ef090..b4d8beca7a3 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-01-07 Michael Chastain + + * gdb.hp/gdb.defects/bs15503.exp: Renamed to gdb.cp/bs15503.exp. + * gdb.hp/gdb.defects/bs15503.cc: Renamed to gdb.cp/bs15503.cc. + 2004-01-07 Michael Chastain * gdb.base/funcargs.exp: Remove obsolete setup_xfail for diff --git a/gdb/testsuite/gdb.cp/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc new file mode 100644 index 00000000000..759bc0f8943 --- /dev/null +++ b/gdb/testsuite/gdb.cp/bs15503.cc @@ -0,0 +1,52 @@ +#include +#include + +template +class StringTest { +public: + virtual void runTest(); + void testFunction(); +}; + +template +void StringTest:: runTest() { + testFunction (); +} + +template +void StringTest ::testFunction() { + // initialize s with string literal + cout << "in StringTest" << endl; + string s("I am a shot string"); + cout << s << endl; + + // insert 'r' to fix "shot" + s.insert(s.begin()+10,'r' ); + cout << s << endl; + + // concatenate another string + s += "and now a longer string"; + cout << s << endl; + + // find position where blank needs to be inserted + string::size_type spos = s.find("and"); + s.insert(spos, " "); + cout << s << endl; + + // erase the concatenated part + s.erase(spos); + cout << s << endl; +} + +int main() { + StringTest ts; + ts.runTest(); +} + +/* output: +I am a shot string +I am a short string +I am a short stringand now a longer string +I am a short string and now a longer string +I am a short string +*/ diff --git a/gdb/testsuite/gdb.cp/bs15503.exp b/gdb/testsuite/gdb.cp/bs15503.exp new file mode 100644 index 00000000000..ef249516bd6 --- /dev/null +++ b/gdb/testsuite/gdb.cp/bs15503.exp @@ -0,0 +1,88 @@ +# Copyright (C) 1992 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. */ + +# Test case for CLLbs15503 +# This file was written by Sue Kimura (sue_kimura@hp.com) + +if $tracelevel { + strace $tracelevel +} + +if { [skip_hp_tests] } { continue } + +set testfile "bs15503" +set srcfile ${testfile}.cc +set binfile ${objdir}/${subdir}/${testfile} + +# Create and source the file that provides information about the compiler +# used to compile the test case. +if [get_compiler_info ${binfile}] { + return -1 +} + +# The testcode is non-conforming and rejected by GCC. So bypass this +# test completely unless we're compiling with HP's compiler. +if {!$hp_aCC_compiler && !$hp_cc_compiler} { + return 0 +} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} + + +# Start with a fresh gdb. +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir + +# Load $binfile -- there should be no warnings about "Procedure ... spans +# file or module boundaries", "No symbols in psymtab for file ..." or +# "File ... has ending address after starting address of next file..." + +if [istarget "hppa64-hp-hpux*" ] { + gdb_test "file $binfile" \ + "Detected 64-bit executable..*Invoking .*gdb64..*Use \"run\" to continue execution." \ + "loading $binfile" +} else { + gdb_test "file $binfile" \ + "Reading symbols from $binfile...done." \ + "loading $binfile" +} +# Test setting breakpoint on template function +# +gdb_test "break StringTest::testFunction" \ + "Breakpoint $decimal at $hex: file .*bs15503.cc, line 19." \ + "break point on function" + +gdb_test "run" \ + "Starting program:.*Breakpoint $decimal, StringTest::testFunction \\(this=$hex\\).*cout << \"in StringTest\" << endl;.*" \ + "run to function breakpoint" + +#restart with fresh gdb +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load $binfile + +gdb_test "break 32" \ + "Breakpoint $decimal at $hex: file .*bs15503.cc, line 32." \ + "break point on line in function" + +gdb_test "run" \ + ".*32.*string::size_type spos = s.find\\(\"and\"\\);.*" \ + "run to break point on line in function" diff --git a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc b/gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc deleted file mode 100644 index 759bc0f8943..00000000000 --- a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include - -template -class StringTest { -public: - virtual void runTest(); - void testFunction(); -}; - -template -void StringTest:: runTest() { - testFunction (); -} - -template -void StringTest ::testFunction() { - // initialize s with string literal - cout << "in StringTest" << endl; - string s("I am a shot string"); - cout << s << endl; - - // insert 'r' to fix "shot" - s.insert(s.begin()+10,'r' ); - cout << s << endl; - - // concatenate another string - s += "and now a longer string"; - cout << s << endl; - - // find position where blank needs to be inserted - string::size_type spos = s.find("and"); - s.insert(spos, " "); - cout << s << endl; - - // erase the concatenated part - s.erase(spos); - cout << s << endl; -} - -int main() { - StringTest ts; - ts.runTest(); -} - -/* output: -I am a shot string -I am a short string -I am a short stringand now a longer string -I am a short string and now a longer string -I am a short string -*/ diff --git a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp b/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp deleted file mode 100644 index ef249516bd6..00000000000 --- a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (C) 1992 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. */ - -# Test case for CLLbs15503 -# This file was written by Sue Kimura (sue_kimura@hp.com) - -if $tracelevel { - strace $tracelevel -} - -if { [skip_hp_tests] } { continue } - -set testfile "bs15503" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1 -} - -# The testcode is non-conforming and rejected by GCC. So bypass this -# test completely unless we're compiling with HP's compiler. -if {!$hp_aCC_compiler && !$hp_cc_compiler} { - return 0 -} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - - -# Start with a fresh gdb. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -# Load $binfile -- there should be no warnings about "Procedure ... spans -# file or module boundaries", "No symbols in psymtab for file ..." or -# "File ... has ending address after starting address of next file..." - -if [istarget "hppa64-hp-hpux*" ] { - gdb_test "file $binfile" \ - "Detected 64-bit executable..*Invoking .*gdb64..*Use \"run\" to continue execution." \ - "loading $binfile" -} else { - gdb_test "file $binfile" \ - "Reading symbols from $binfile...done." \ - "loading $binfile" -} -# Test setting breakpoint on template function -# -gdb_test "break StringTest::testFunction" \ - "Breakpoint $decimal at $hex: file .*bs15503.cc, line 19." \ - "break point on function" - -gdb_test "run" \ - "Starting program:.*Breakpoint $decimal, StringTest::testFunction \\(this=$hex\\).*cout << \"in StringTest\" << endl;.*" \ - "run to function breakpoint" - -#restart with fresh gdb -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -gdb_test "break 32" \ - "Breakpoint $decimal at $hex: file .*bs15503.cc, line 32." \ - "break point on line in function" - -gdb_test "run" \ - ".*32.*string::size_type spos = s.find\\(\"and\"\\);.*" \ - "run to break point on line in function"