2012-07-10 Tom Tromey <tromey@redhat.com>
+ * gdb.cp/abstract-origin.exp: Use standard_testfile.
+ * gdb.cp/ambiguous.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/anon-ns.exp: Use standard_testfile.
+ * gdb.cp/anon-struct.exp: Use standard_testfile.
+ * gdb.cp/anon-union.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/arg-reference.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/breakpoint.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/call-c.exp: Use standard_testfile, clean_restart,
+ standard_output_file.
+ * gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing.
+ (test_static_members): Update.
+ * gdb.cp/cmpd-minsyms.exp: Use standard_testfile.
+ * gdb.cp/converts.exp: Use standard_testfile.
+ * gdb.cp/cp-relocate.exp: Use standard_testfile.
+ * gdb.cp/cpcompletion.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/cplabel.exp: Use standard_testfile.
+ * gdb.cp/cplusfuncs.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/derivation.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/destrprint.exp: Use standard_testfile.
+ * gdb.cp/dispcxx.exp: Use standard_testfile.
+ * gdb.cp/exception.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile.
+ * gdb.cp/extern-c.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/formatted-ref.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/fpointer.exp: Use standard_testfile.
+ * gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart,
+ standard_output_file.
+ * gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/infcall-dlopen.exp: Use standard_testfile,
+ standard_output_file.
+ * gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing.
+ (do_tests): Update.
+ * gdb.cp/koenig.exp: Use standard_testfile.
+ * gdb.cp/local.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/m-static.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/mb-inline.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/mb-templates.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/member-ptr.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/meth-typedefs.exp: Use standard_testfile.
+ * gdb.cp/method.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/method2.exp: Use standard_testfile.
+ * gdb.cp/minsym-fallback.exp: Use standard_testfile,
+ standard_output_file.
+ * gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing.
+ (do_tests): Update.
+ * gdb.cp/namespace-enum.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/namespace-nested-import.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/namespace.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/nextoverthrow.exp: Use standard_testfile.
+ * gdb.cp/no-dmgl-verbose.exp: Use standard_testfile.
+ * gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/nsimport.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/nsnested.exp: Use standard_testfile.
+ * gdb.cp/nsnoimports.exp: Use standard_testfile.
+ * gdb.cp/nsrecurs.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/nsstress.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/operator.exp: Use standard_testfile.
+ * gdb.cp/oranking.exp: Use standard_testfile.
+ * gdb.cp/overload-const.exp: Use standard_testfile.
+ * gdb.cp/overload.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/ovldbreak.exp: Use standard_testfile.
+ * gdb.cp/ovsrch.exp: Use standard_testfile.
+ * gdb.cp/paren-type.exp: Use standard_testfile.
+ * gdb.cp/pass-by-ref.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/pr10687.exp: Use standard_testfile, clean_restart.
+ * gdb.cp/pr10728.exp: Use standard_testfile,
+ standard_output_file.
+ * gdb.cp/pr12028.exp: Use standard_testfile.
+ * gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/pr9167.exp: Use standard_testfile.
+ * gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/printmethod.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/psmang.exp: Use standard_testfile, clean_restart.
+ * gdb.cp/psymtab-parameter.exp: Use standard_testfile.
+ * gdb.cp/ptype-cv-cp.exp: Use standard_testfile.
+ * gdb.cp/re-set-overloaded.exp: Use standard_testfile,
+ standard_output_file.
+ * gdb.cp/readnow-language.exp: Use standard_testfile.
+ * gdb.cp/ref-params.exp: Use standard_testfile, build_executable.
+ (gdb_start_again): Use clean_restart.
+ * gdb.cp/ref-types.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/smartp.exp: Use standard_testfile.
+ * gdb.cp/static-method.exp: Use standard_testfile.
+ * gdb.cp/static-print-quit.exp: Use standard_testfile.
+ * gdb.cp/temargs.exp: Use standard_testfile.
+ * gdb.cp/templates.exp: Use standard_testfile,
+ prepare_for_testing.
+ (do_tests): Update.
+ * gdb.cp/try_catch.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/typedef-operator.exp: Use standard_testfile.
+ * gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing.
+ * gdb.cp/virtbase.exp: Use standard_testfile,
+ prepare_for_testing.
+ * gdb.cp/virtfunc.exp: Use standard_testfile,
+ prepare_for_testing.
+ (do_tests): Update.
+ * gdb.cp/virtfunc2.exp: Use standard_testfile,
+ prepare_for_testing.
+
+2012-07-10 Tom Tromey <tromey@redhat.com>
+
* lib/gdb.exp (standard_testfile): Unset output variables from
earlier invocations.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile abstract-origin
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "ambiguous"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1;
if { [test_compiler_info gcc-*] } then { continue }
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ambiguous.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
#
# set it up at a breakpoint so we can play with the variable values
#
if { [skip_cplus_tests] } { continue }
-set testfile "annota2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ nowarnings}] != "" } {
- untested annota2.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ {debug c++ nowarnings}]} {
return -1
}
return 0
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
#
# line number where we need to stop in main
#
if { [skip_cplus_tests] } { continue }
-set testfile "annota3"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ nowarnings}] != "" } {
- untested annota3.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ {debug c++ nowarnings}]} {
return -1
}
return 0
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
#
# line number where we need to stop in main
#
if {[skip_cplus_tests]} { continue }
-# Tests for c++/12750/12704
-set testfile "anon-ns"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile anon-struct
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "anon-union"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- perror "Testcase compile failed" 0
- continue
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if { [skip_cplus_tests] } { continue }
-set testfile "arg-reference"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ${testfile}.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "ptype foo" "type = int \\\(Obj\\\)" "No false reference"
if { [skip_cplus_tests] } { continue }
-set testfile "bool"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested bool.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto_main
# Testcases for tdep/2075.
# test running programs
#
-set testfile "breakpoint"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested breakpoint.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
proc test_breakpoint {name} {
# Restart the program every time, so that a single failure doesn't
return 0
}
-set testfile "bs15503"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
- untested bs15503.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if { [skip_cplus_tests] } { continue }
-set testfile call-c
-set binfile ${objdir}/${subdir}/${testfile}
-set srcfilec ${srcdir}/${subdir}/${testfile}-1.c
-set srcfilecpp ${srcdir}/${subdir}/${testfile}.cc
-set objfilec ${objdir}/${subdir}/${testfile}-1.o
-set objfilecpp ${objdir}/${subdir}/${testfile}.o
-
-if {[gdb_compile "${srcfilec}" "${objfilec}" object {debug}] != ""
- || [gdb_compile "${srcfilecpp}" "${objfilecpp}" object {c++ debug}] != ""
+standard_testfile .cc call-c-1.c
+set objfilec [standard_output_file ${testfile}-1.o]
+set objfilecpp [standard_output_file ${testfile}.o]
+
+if {[gdb_compile "$srcdir/$subdir/${srcfile2}" "${objfilec}" object {debug}] != ""
+ || [gdb_compile "$srcdir/$subdir/${srcfile}" "${objfilecpp}" object {c++ debug}] != ""
|| [gdb_compile "${objfilecpp} ${objfilec}" "${binfile}" executable {c++ debug}] != ""} {
untested ${testfile}.exp
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
runto_main
if { [skip_cplus_tests] } { continue }
-set testfile "casts"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1;
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested casts.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if { [skip_cplus_tests] } { continue }
-set testfile "class2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested class2.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Start with "set print object off".
gdb_test_no_output "set print object off"
load_lib "cp-support.exp"
-set testfile "classes"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested classes.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
# Test ptype of class objects.
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
global gdb_prompt
global nl
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set language c++" ""
gdb_test_no_output "set width 0" ""
if {[skip_cplus_tests]} { continue }
# Tests for c++/12273, breakpoint/12803
-set testfile "cmpd-minsyms"
+standard_testfile .cc
+
# Do NOT compile with debug flag.
-if {[prepare_for_testing $testfile $testfile $testfile.cc {c++}]} {
+if {[prepare_for_testing $testfile $testfile $srcfile {c++}]} {
return -1
}
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile converts
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
# Test loading symbols from unrelocated C++ object files.
-set testfile cp-relocate
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}.o
+standard_testfile .cc
+append binfile .o
if { [skip_cplus_tests] } { continue }
if { [skip_cplus_tests] } { continue }
-set testfile pr9594
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile pr9594.cc
-if {[gdb_compile "${srcdir}/${subdir}/${testfile}.cc" "${testfile}.o" object {c++ debug}] != ""} {
- untested cpcompletion.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-if {[gdb_compile "${testfile}.o" ${binfile} executable {c++ debug}] != "" } {
- untested cpcompletion.exp
- return -1
-}
-
-gdb_exit
-
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Test that completion is restricted by class name (all methods)
test_class_complete Foo "" "complete class methods" \
[list Foo Foofoo get_foo set_foo ~Foo]
# The tests below depend on the current code scope.
-set bp_location [gdb_get_line_number "Set breakpoint here" ${testfile}.cc]
+set bp_location [gdb_get_line_number "Set breakpoint here" ${srcfile}]
-if {![runto "${testfile}.cc:$bp_location"]} {
+if {![runto "${srcfile}:$bp_location"]} {
perror "test suppressed"
return
}
# test running programs
#
-set testfile "cpexprs"
-set srcfile "${testfile}.cc"
-set binfile [file join $objdir $subdir $testfile]
+standard_testfile .cc
-if {[gdb_compile [file join $srcdir $subdir $srcfile] $binfile \
- executable {debug c++}] != "" } {
- untested "$testfile.exp"
+if {[get_compiler_info "c++"]} {
return -1
}
-if {[get_compiler_info "c++"]} {
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir [file join $srcdir $subdir]
-gdb_load $binfile
-
if {![runto_main]} {
perror "couldn't run to breakpoint"
continue
if {[skip_cplus_tests]} { continue }
-set testfile cplabel
-set srcfile "$testfile.cc"
+standard_testfile .cc
+
if {[prepare_for_testing "$testfile.exp" $testfile $srcfile {c++ debug}]} {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "cplusfuncs"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if { [get_compiler_info "c++"] } {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested cplusfuncs.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
global binfile
- global gdb_prompt
global dm_type_int_star
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
+ clean_restart $binfile
gdb_test_no_output "set width 0"
if { [skip_cplus_tests] } { continue }
-set testfile "cttiadd"
-set srcfile "${testfile}.cc"
-set srcfile1 "${testfile}1.cc"
-set srcfile2 "${testfile}2.cc"
-set srcfile3 "${testfile}3.cc"
-set objfile "${testfile}.o"
-set objfile1 "${testfile}1.o"
-set objfile2 "${testfile}2.o"
-set objfile3 "${testfile}3.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" "$objdir/$subdir/$objfile" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile3" "$objdir/$subdir/$objfile3" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile $objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2 $objdir/$subdir/$objfile3" "${binfile}" executable {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
+standard_testfile cttiadd.cc cttiadd1.cc cttiadd2.cc cttiadd3.cc
if [get_compiler_info "c++"] {
return -1;
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2 $srcfile3 $srcfile4] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
load_lib "cp-support.exp"
-set testfile "derivation"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested derivation.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile destrprint
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile dispcxx
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
untested dispcxx.exp
return 0
}
-set testfile "exception"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested exception.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set a catch catchpoint
gdb_test "catch catch" "Catchpoint \[0-9\]+ \\(catch\\)" \
#
# This file is part of the gdb testsuite.
-set testfile expand-psymtabs-cxx
-set srcfile ${testfile}.cc
-set executable ${testfile}.x
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
+set executable ${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug c++} ] != "" } {
untested ${testfile}.exp
if { [skip_cplus_tests] } { continue }
-set testfile "extern-c"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested extern-c.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto_main
if { [gdb_breakpoint "c_func"] == 1 } {
if { [skip_cplus_tests] } { continue }
-set testfile "formatted-ref"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested formatted-ref.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
proc get_address { var } {
gdb_test $test "\\$\[0-9\]+ = true"
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto ${srcfile}:[gdb_get_line_number "marker here"]
set s1_address [get_address "s1"]
# This tests for evaluation of functions in the form of
# complex expressions.
-set testfile fpointer
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
# test running programs
#
-set testfile "gdb1355"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested gdb1355.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to main"
if { [skip_cplus_tests] } { continue }
if { [skip_shlib_tests] } { continue }
-set testfile "gdb2384"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc gdb2384-base.cc
-set libfile "gdb2384-base"
-set libsrcfile ${libfile}.cc
-set sofile $objdir/$subdir/${libfile}.so
+set sofile [standard_output_file gdb2384-base.so]
# Create and source the file that provides information about the compiler
# used to compile the test case.
return -1
}
-if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++}] != ""
+if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
|| [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug "c++" shlib=${sofile}]] != ""} {
untested gdb2384.exp
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
gdb_load_shlibs ${sofile}
return 0
}
-set testfile "gdb2495"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested gdb2495.exp
- return -1
-}
-
# Some targets can't do function calls, so don't even bother with this
# test.
if [target_info exists gdb,cannot_call_functions] {
continue
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to main"
if { [skip_cplus_tests] } { continue }
-set testfile hang
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile hang1.cc hang2.cc hang3.cc
-foreach file {hang1 hang2 hang3} {
- if {[gdb_compile "${srcdir}/${subdir}/${file}.cc" "${file}.o" object {c++ debug}] != ""} {
- untested hang.exp
- return -1
- }
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2 $srcfile3] {debug c++}]} {
+ return -1
}
-if {[gdb_compile "hang1.o hang2.o hang3.o" ${binfile} executable {c++ debug}] != "" } {
- untested hang.exp
- return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
# As of May 1, 2002, GDB hangs trying to read the debug info for the
# `hang2.o' compilation unit from the executable `hang', when compiled
# by g++ 2.96 with STABS debugging info. Here's what's going on, as
return -1
}
-set testfile "infcall-dlopen"
-set srcmainfile ${testfile}.cc
-set srclibfile ${testfile}-lib.cc
-set executable ${testfile}
-set libfile ${objdir}/${subdir}/${executable}.so
-set binfile ${objdir}/${subdir}/${executable}
-set lib_dlopen [shlib_target_file ${executable}.so]
+standard_testfile .cc infcall-dlopen-lib.cc
+set libfile [standard_output_file ${testfile}.so]
+set lib_dlopen [shlib_target_file ${testfile}.so]
# Use completely arbitrary file for $libfile source.
-if { [gdb_compile_shlib ${srcdir}/${subdir}/${srclibfile} ${libfile} {debug c++}] != ""
- || [prepare_for_testing ${testfile}.exp ${executable} ${srcmainfile} {debug c++ shlib_load}] } {
+if { [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile2} ${libfile} {debug c++}] != ""
+ || [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++ shlib_load}] } {
return -1
}
load_lib "cp-support.exp"
-set testfile "inherit"
-set srcfile misc.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile misc.cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested inherit.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
# Single inheritance, print type definitions.
}
proc do_tests { } {
- global subdir
- global objdir
- global srcdir
- global binfile
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set width 0"
if { ![runto_main] } then {
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile koenig
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "local"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested local.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
#
# set it up at a breakpoint so we can play with the variable values
# test running programs
#
-set testfile "m-data"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested m-data.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
# test running programs
#
-set testfile "m-static"
-set srcfile "${testfile}.cc"
-set srcfile1 "${testfile}1.cc"
-set objfile "${testfile}.o"
-set objfile1 "${testfile}1.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" "$objdir/$subdir/$objfile" object {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile $objdir/$subdir/$objfile1" "${binfile}" executable {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
+standard_testfile .cc m-static1.cc
if [get_compiler_info] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
if { [skip_cplus_tests] } { continue }
-set testfile "mb-ctor"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested mb-ctor.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if { [skip_cplus_tests] } { continue }
-
-set testfile "mb-inline"
+standard_testfile mb-inline1.cc mb-inline2.cc
set hdrfile "${testfile}.h"
-set srcfile1 "${testfile}1.cc"
-set objfile1 "${testfile}1.o"
-set srcfile2 "${testfile}2.cc"
-set objfile2 "${testfile}2.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2" "${binfile}" executable {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
set bp_location [gdb_get_line_number "set breakpoint here" $hdrfile]
}
-set testfile "mb-templates"
-set srcfile ${testfile}.cc
-set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested mb-templates.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-clean_restart ${executable}
-
set bp_location [gdb_get_line_number "set breakpoint here"]
# Set a breakpoint with multiple locations
if { [skip_cplus_tests] } { continue }
-set testfile "member-ptr"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested member-ptr.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if {[skip_cplus_tests]} { continue }
# Tests for c++/12266 et al
-set testfile "meth-typedefs"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
if { [skip_cplus_tests] } { continue }
-set testfile "method"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested method.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
#
# set it up at a breakpoint so we can play with the variable values
if { [skip_cplus_tests] } { continue }
-set testfile "method2"
-set srcfile $testfile.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
untested method2.exp
# only a declaration there for the method. The method is then defined in
# a different file providing only ELF symbols.
-set testfile minsym-fallback
-set srcfile ${testfile}.cc
-set srcmainfile ${testfile}-main.cc
+standard_testfile .cc minsym-fallback-main.cc
set executable $testfile
-set objfile $objdir/$subdir/${testfile}.o
-set objmainfile $objdir/$subdir/${testfile}-main.o
-set binfile $objdir/$subdir/$executable
+set objfile [standard_output_file ${testfile}.o]
+set objmainfile [standard_output_file ${testfile}-main.o]
+
if {[gdb_compile $srcdir/$subdir/$srcfile $objfile object {}] != ""
- || [gdb_compile $srcdir/$subdir/$srcmainfile $objmainfile object {debug}] != ""
+ || [gdb_compile $srcdir/$subdir/$srcfile2 $objmainfile object {debug}] != ""
|| [gdb_compile "$objfile $objmainfile" $binfile executable {c++}] != ""} {
untested ${testfile}.exp
return -1
if { [skip_cplus_tests] } { continue }
-set testfile "misc"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested misc.exp
- return -1
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
- global gdb_prompt
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
deduce_language_of_main
# Check for fixes for PRs 8916 and 8630
gdb_test "print s.a" ".* = 0" "print s.a for foo struct (known gcc 2.7.2 and earlier bug)"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile namespace-enum
-set srcfile0 ${testfile}.cc
-set objfile0 ${testfile}.o
-set srcfile1 ${testfile}-main.cc
-set objfile1 ${testfile}-main.o
-set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc namespace-enum-main.cc
-if { [gdb_compile "$srcdir/$subdir/$srcfile0" "$objdir/$subdir/$objfile0" object {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile0 $objdir/$subdir/$objfile1" "${binfile}" executable {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
-}
-
-clean_restart ${executable}
gdb_test "print foo::B::B_B" "`foo::B' is not defined as an aggregate type."
gdb_test "print foo::B_B" "foo::B_B"
gdb_test "print A_A" "A_A"
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile namespace-nested-import
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
############################################
# Test printing of a variable from a nested
# in a namespace inner to the one which has
if { [skip_cplus_tests] } { continue }
-set testfile "namespace"
-set srcfile ${testfile}.cc
-set objfile ${objdir}/${subdir}/${testfile}.o
-set srcfile1 ${testfile}1.cc
-set objfile1 ${objdir}/${subdir}/${testfile}1.o
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc namespace1.cc
if [get_compiler_info c++] {
return -1;
set xfail_class_types 1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug c++}] != "" } {
- untested namespace.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
- untested namespace.exp
- return -1
-}
-
-if { [gdb_compile "${objfile} ${objfile1}" "${binfile}" executable {debug c++}] != "" } {
- untested namespace.exp
- return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "show lang" "auto; currently c\\+\\+.*"
#
# Break on a function in the global namespace.
gdb_test "break ::ensureOtherRefs" \
- "Breakpoint.*at $hex: file.*$srcfile1, line $decimal\\."
+ "Breakpoint.*at $hex: file.*$srcfile2, line $decimal\\."
# Call a function in a nested namespace
if { [skip_cplus_tests] } { continue }
-set testfile "nextoverthrow"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
# Test loading symbols from unrelocated C++ object files.
-set testfile no-dmgl-verbose
-set srcfile ${testfile}.cc
-set executable ${testfile}.o
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
if { [skip_cplus_tests] } { continue }
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {c++ debug}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object {c++ debug}] != "" } {
untested ${testfile}.exp
return -1
}
-clean_restart ${executable}
+clean_restart ${testfile}.o
gdb_test_no_output "set breakpoint pending off"
# Stress test the lookup of declarations
-set testfile nsdecl
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1;
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
# imported into the same scope.
-set testfile nsimport
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
############################################
# test printing of namespace imported within
# the function.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsnested
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsnoimports
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsrecurs
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" \
- "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
# Stress test namespace lookup
-set testfile nsstress
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsusing
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
- {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
############################################
# test printing of namespace imported within
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile operator
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile oranking
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
if {[skip_cplus_tests]} { continue }
-set testfile "overload-const"
-if [prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}]} {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "overload"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested overload.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
if { [skip_cplus_tests] } { continue }
-set testfile "ovldbreak"
-set srcfile $testfile.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
- untested ovldbreak.exp
return -1
}
if { [skip_cplus_tests] } { continue }
# Test for c++/11734
-set testfile "ovsrch"
-set binfile [file join $objdir $subdir $testfile]
+standard_testfile ovsrch1.cc ovsrch2.cc ovsrch3.cc ovsrch4.cc
-set srcfiles {}
-for {set i 1} {$i < 5} {incr i} {
- lappend srcfiles $testfile$i.cc
-}
-
-if {[prepare_for_testing $testfile $testfile $srcfiles {c++ debug}]} {
+if {[prepare_for_testing $testfile $testfile \
+ [list $srcfile $srcfile2 $srcfile3 $srcfile4] {c++ debug}]} {
return -1
}
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile paren-type
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${testfile}.cc {c++ debug}] } {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "pass-by-ref"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
- executable {debug c++}] != "" } {
- untested pass-by-ref.exp
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
return -1
}
# test running programs
#
-set testfile "pr-1023"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-1023.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
# test running programs
#
-set testfile "pr-1210"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-1210.exp
+if [get_compiler_info "c++"] {
return -1
}
-if [get_compiler_info "c++"] {
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
# test running programs
#
-set testfile "pr-574"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-574.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile pr10687
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
load_lib "cp-support.exp"
-set testfile "pr10728"
-set srcfile ${testfile}-x.cc
-set tfx ${testfile}-x
-set tfy ${testfile}-y
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile pr10728-x.cc pr10728-y.cc
+set tfx [standard_output_file pr10728-x.o]
+set tfy [standard_output_file pr10728-y.o]
-if { [gdb_compile "${srcdir}/${subdir}/${tfy}.cc" "${tfy}.o" object {c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/$srcfile2" "${tfy}.o" object {c++}] != "" } {
untested pr10728.exp
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${tfx}.cc" "${tfx}.o" object {debug c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/$srcfile" "${tfx}.o" object {debug c++}] != "" } {
untested pr10728.exp
return -1
}
return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart $binfile
if ![runto_main] then {
perror "couldn't run to breakpoint"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile pr12028
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
load_lib "cp-support.exp"
-set testfile "pr9067"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested pr9067.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
return 0
}
-set testfile pr9167
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
if { [skip_cplus_tests] } { continue }
-set testfile "pr9631"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr9631.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
# test running programs
#
-set testfile "printmethod"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested printmethod.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
if { [skip_cplus_tests] } { continue }
-set testfile "psmang"
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile psmang1.cc psmang2.cc
if [get_compiler_info "c++"] {
return -1;
}
-if { [gdb_compile "${srcdir}/${subdir}/${testfile}1.cc" "${testfile}1.o" object {debug c++}] != "" } {
- untested psmang.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${testfile}2.cc" "${testfile}2.o" object {debug c++}] != "" } {
- untested psmang.exp
- return -1
-}
-
-if { [gdb_compile "${testfile}1.o ${testfile}2.o" ${binfile} executable {debug c++}] != "" } {
- untested psmang.exp
- return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "break s::method1" "Breakpoint .* at .*: file .*psmang1.cc.*"
# We have to exit and restart GDB here, to make sure that all the
# compilation units are psymtabs again.
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
gdb_test "break s::method2" "Breakpoint .* at .*: file .*psmang2.cc.*"
if { [skip_cplus_tests] } { continue }
+standard_testfile .cc
-set testfile psymtab-parameter
-set executable ${testfile}.x
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${executable}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.x" object {debug c++}] != "" } {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile.x
# As `main' is not present GDB fails to find the proper inferior language.
gdb_test_no_output "set language c++"
if { [skip_cplus_tests] } { continue }
-set testfile "ptype-cv-cp"
-set srcfile ${testfile}.cc
+standard_testfile .cc
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
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
+standard_testfile bool.cc .cc
-set libsrcfile ${testfile}.cc
-set sofile $objdir/$subdir/${testfile}.so
+set sofile [standard_output_file ${testfile}.so]
# Create and source the file that provides information about the compiler
# used to compile the test case.
return -1
}
-if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++}] != ""
+if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
|| [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug "c++" shlib=${sofile}]] != ""} {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile
gdb_load_shlibs ${sofile}
gdb_test_no_output "set breakpoint pending yes"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile readnow-language
-set srcfile ${testfile}.cc
-set executable ${testfile}
-if {[build_executable ${testfile}.exp $executable ${testfile}.cc {c++ debug}] == -1} {
+standard_testfile .cc
+
+if {[build_executable ${testfile}.exp $testfile ${testfile}.cc {c++ debug}] == -1} {
return -1
}
set old_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $executable
+clean_restart $testfile
set GDBFLAGS $old_gdbflags
gdb_test "show language" {The current source language is "auto; currently c\+\+"\.}
if { [skip_cplus_tests] } { continue }
-set testfile "ref-params"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ref-params.exp
- return -1
+if {[build_executable $testfile.exp $testfile $srcfile {debug c++}] == 1} {
+ return -1
}
gdb_exit
proc gdb_start_again { text } {
- global srcdir
- global subdir
global binfile
global srcfile
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load ${binfile}
+ clean_restart $binfile
runto ${srcfile}:[gdb_get_line_number $text]
}
if { [skip_cplus_tests] } { continue }
-set testfile "ref-types"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ref-types.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
#
# set it up at a breakpoint so we can play with the variable values
#
# test running programs
#
-set testfile "rtti"
-set srcfile1 "${testfile}1.cc"
-set objfile1 "${testfile}1.o"
-set srcfile2 "${testfile}2.cc"
-set objfile2 "${testfile}2.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2" "${binfile}" executable {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
+standard_testfile rtti1.cc rtti2.cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
# First, run to after we've constructed the object:
-gdb_breakpoint [gdb_get_line_number "main-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "main-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in main"
gdb_test_multiple "print *e1" "print *e1" {
# Now we test the hack that's been implemented to get around some
# instances of PR gdb/1511.
-gdb_breakpoint [gdb_get_line_number "func-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "func-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in func"
gdb_test "print *obj" "\\$\[0-9\]* = {<n2::Base2> = .*}"
-gdb_breakpoint [gdb_get_line_number "func3-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "func3-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in func3"
gdb_test "print *obj3" "\\$\[0-9\]* = {<n2::C2> = .*}"
# name the one from the correct scope is printed.
-set testfile shadow
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile smartp
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
if {[skip_cplus_tests]} { continue }
# Tests for c++/12750
-set testfile "static-method"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
if { [skip_cplus_tests] } { continue }
-set testfile static-print-quit
-set srcfile ${testfile}.cc
-set executable $testfile.o
-set objfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
-if { [gdb_compile $srcdir/$subdir/$srcfile $objfile object {debug c++}] != ""} {
+if { [gdb_compile $srcdir/$subdir/$srcfile $binfile.o object {debug c++}] != ""} {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile.o
gdb_test_no_output "set width 80"
gdb_test_no_output "set height 2"
continue
}
-set testfile "temargs"
-set srcfile "${testfile}.cc"
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
if { [skip_cplus_tests] } { continue }
-set testfile "templates"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested templates.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
- global gdb_prompt
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
# Change multiple-symbols to "ask" in order to get the multiple-choice
# menu when breaking on overloaded methods.
gdb_test_no_output "set multiple-symbols ask"
# test running programs
#
-set testfile "try_catch"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested try_catch.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
if {[skip_cplus_tests]} { continue }
-set testfile "typedef-operator"
-if [prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
}
return 0
}
-set testfile "userdef"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested userdef.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
if { [skip_cplus_tests] } { continue }
-set testfile "virtbase"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested virtbase.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if {![runto_main]} then {
perror "couldn't run to breakpoint"
continue
load_lib "cp-support.exp"
-set testfile "virtfunc"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested virtfunc.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
proc test_ptype_of_classes {} {
}
proc do_tests {} {
- global srcdir subdir binfile
- global gdb_prompt
-
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set language c++" ""
gdb_test_no_output "set width 0" ""
load_lib "cp-support.exp"
-set testfile "virtfunc2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested virtfunc2.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue