gdb/fortran: Allow Flang MAIN_ in Fortran testing
Name of fortran main function for Flang compiler is MAIN_ while for gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for the purpose of inserting breakpoint. New proc is added to detect main function name depending on the compiler used. Fortran specific version of runto_main named fortran_runto_main is added. This commit adds support for Flang main function, there should be no change for gfortran. gdb/testsuite/ChangeLog * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, (fortran_runto_main): New Proc, fortran version of runto_main. * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_. * gdb.fortran/array-bounds.exp: Likewise. * gdb.fortran/array-slices.exp: Likewise. * gdb.fortran/block-data.exp: Likewise. * gdb.fortran/charset.exp: Likewise. * gdb.fortran/common-block.exp: Likewise. * gdb.fortran/complex.exp: Likewise. * gdb.fortran/derived-type-function.exp: Likewise. * gdb.fortran/derived-type.exp: Likewise. * gdb.fortran/info-modules.exp: Likewise. * gdb.fortran/info-types.exp: Likewise. * gdb.fortran/intrinsics.exp: Likewise. * gdb.fortran/library-module.exp: Likewise. * gdb.fortran/logical.exp: Likewise. * gdb.fortran/max-depth.exp: Likewise. * gdb.fortran/module.exp: Likewise. * gdb.fortran/multi-dim.exp: Likewise. * gdb.fortran/nested-funcs.exp: Likewise. * gdb.fortran/print-formatted.exp: Likewise. * gdb.fortran/print_type.exp: Likewise. * gdb.fortran/printing-types.exp: Likewise. * gdb.fortran/ptr-indentation.exp: Likewise. * gdb.fortran/ptype-on-functions.exp: Likewise. * gdb.fortran/subarray.exp: Likewise. * gdb.fortran/vla-alloc-assoc.exp: Likewise. * gdb.fortran/vla-datatypes.exp: Likewise. * gdb.fortran/vla-history.exp: Likewise. * gdb.fortran/vla-ptr-info.exp: Likewise. * gdb.fortran/vla-ptype-sub.exp: Likewise. * gdb.fortran/vla-ptype.exp: Likewise. * gdb.fortran/vla-sizeof.exp: Likewise. * gdb.fortran/vla-type.exp: Likewise. * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. * gdb.fortran/vla-value-sub-finish.exp: Likewise. * gdb.fortran/vla-value-sub.exp: Likewise. * gdb.fortran/vla-value.exp: Likewise. * gdb.fortran/whatis_type.exp: Likewise. * gdb.mi/mi-var-child-f.exp: Likewise.
This commit is contained in:
parent
1ea1aee1ed
commit
86cd6bc8f6
@ -1,3 +1,46 @@
|
||||
2020-05-10 Alok Kumar Sharma <alokkumar.sharma@amd.com>
|
||||
|
||||
* lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_,
|
||||
(fortran_runto_main): New Proc, fortran version of runto_main.
|
||||
* gdb.fortran/array-bounds-high.exp: Handle flang MAIN_
|
||||
* gdb.fortran/array-bounds.exp: Likewise.
|
||||
* gdb.fortran/array-slices.exp: Likewise.
|
||||
* gdb.fortran/block-data.exp: Likewise.
|
||||
* gdb.fortran/charset.exp: Likewise.
|
||||
* gdb.fortran/common-block.exp: Likewise.
|
||||
* gdb.fortran/complex.exp: Likewise.
|
||||
* gdb.fortran/derived-type-function.exp: Likewise.
|
||||
* gdb.fortran/derived-type.exp: Likewise.
|
||||
* gdb.fortran/info-modules.exp: Likewise.
|
||||
* gdb.fortran/info-types.exp: Likewise.
|
||||
* gdb.fortran/intrinsics.exp: Likewise.
|
||||
* gdb.fortran/library-module.exp: Likewise.
|
||||
* gdb.fortran/logical.exp: Likewise.
|
||||
* gdb.fortran/max-depth.exp: Likewise.
|
||||
* gdb.fortran/module.exp: Likewise.
|
||||
* gdb.fortran/multi-dim.exp: Likewise.
|
||||
* gdb.fortran/nested-funcs.exp: Likewise.
|
||||
* gdb.fortran/print-formatted.exp: Likewise.
|
||||
* gdb.fortran/print_type.exp: Likewise.
|
||||
* gdb.fortran/printing-types.exp: Likewise.
|
||||
* gdb.fortran/ptr-indentation.exp: Likewise.
|
||||
* gdb.fortran/ptype-on-functions.exp: Likewise.
|
||||
* gdb.fortran/subarray.exp: Likewise.
|
||||
* gdb.fortran/vla-alloc-assoc.exp: Likewise.
|
||||
* gdb.fortran/vla-datatypes.exp: Likewise.
|
||||
* gdb.fortran/vla-history.exp: Likewise.
|
||||
* gdb.fortran/vla-ptr-info.exp: Likewise.
|
||||
* gdb.fortran/vla-ptype-sub.exp: Likewise.
|
||||
* gdb.fortran/vla-ptype.exp: Likewise.
|
||||
* gdb.fortran/vla-sizeof.exp: Likewise.
|
||||
* gdb.fortran/vla-type.exp: Likewise.
|
||||
* gdb.fortran/vla-value-sub-arbitrary.exp: Likewise.
|
||||
* gdb.fortran/vla-value-sub-finish.exp: Likewise.
|
||||
* gdb.fortran/vla-value-sub.exp: Likewise.
|
||||
* gdb.fortran/vla-value.exp: Likewise.
|
||||
* gdb.fortran/whatis_type.exp: Likewise.
|
||||
* gdb.mi/mi-var-child-f.exp: Likewise.
|
||||
|
||||
2020-05-09 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.dwarf2/clang-debug-names.exp: Remove PR25952 kfail.
|
||||
|
@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 }
|
||||
|
||||
set testfile "array-bounds-high"
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if {![runto MAIN__]} {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if {![fortran_runto_main]} {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 }
|
||||
|
||||
set testfile "array-bounds"
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if {![runto MAIN__]} {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if {![fortran_runto_main]} {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -21,13 +21,14 @@
|
||||
if {[skip_fortran_tests]} { return -1 }
|
||||
|
||||
standard_testfile ".f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
|
||||
{debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -30,8 +30,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
untested "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
untested "couldn't run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -19,12 +19,14 @@
|
||||
if { [skip_fortran_tests] } { return -1 }
|
||||
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug additional_flags=-fbackslash f90}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] {
|
||||
perror "Couldn't run to MAIN__"
|
||||
if ![fortran_runto_main] {
|
||||
perror "Couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" ${testfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90 quiet}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "Couldn't run to MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "Couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -21,13 +21,14 @@
|
||||
if { [skip_fortran_tests] } { return -1 }
|
||||
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -28,8 +28,8 @@ if { [prepare_for_testing "failed to prepare" $testfile \
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if { ![fortran_runto_main] } {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,8 @@ if { [prepare_for_testing "failed to prepare" $testfile \
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if { ![fortran_runto_main] } {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] }
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if { ![fortran_runto_main] } {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -40,9 +40,10 @@ if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug f90
|
||||
clean_restart $testfile
|
||||
|
||||
gdb_load_shlib $libfile
|
||||
load_lib fortran.exp
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -16,13 +16,14 @@
|
||||
# This file was written by Jan Kratochvil <jan.kratochvil@redhat.com>.
|
||||
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90 quiet}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if { ![fortran_runto_main] } {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] }
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
perror "Could not run to breakpoint `MAIN__'."
|
||||
if { ![fortran_runto_main] } {
|
||||
perror "Could not run to main."
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -29,8 +29,8 @@ gdb_test "p modmany::var_i" " = 14" "stopped language detection"
|
||||
|
||||
gdb_test "print mod1::var_const" " = 20" "fully qualified name of DW_TAG_constant"
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
@ -123,7 +123,7 @@ complete "modmany::var" $modmany_list
|
||||
# Breakpoint would work in language "c".
|
||||
gdb_test "show language" {The current source language is "(auto; currently )?fortran".}
|
||||
|
||||
# gcc-4.4.2: The main program is always MAIN__ in .symtab so "runto" above
|
||||
# gcc-4.4.2: The main program is always $fmain in .symtab so "runto" above
|
||||
# works. But DWARF DW_TAG_subprogram contains the name specified by
|
||||
# the "program" Fortran statement.
|
||||
if [gdb_breakpoint "module"] {
|
||||
|
@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug f90}
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] {
|
||||
perror "Couldn't run to MAIN__"
|
||||
if ![fortran_runto_main] {
|
||||
perror "Couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -25,8 +25,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] }
|
||||
return -1
|
||||
}
|
||||
|
||||
if { ![runto MAIN__] } {
|
||||
fail "runto MAIN__"
|
||||
if { ![fortran_runto_main] } {
|
||||
fail "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -16,13 +16,14 @@
|
||||
if {[skip_fortran_tests]} { return -1 }
|
||||
|
||||
standard_testfile .f90
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if {![runto MAIN__]} then {
|
||||
untested "could not run to breakpoint MAIN__"
|
||||
if {![fortran_runto_main]} then {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -22,8 +22,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if {![runto MAIN__]} then {
|
||||
untested "couldn't run to breakpoint MAIN__"
|
||||
if {![fortran_runto_main]} then {
|
||||
untested "couldn't run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -24,8 +24,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
if { [skip_fortran_tests] } { return -1 }
|
||||
|
||||
standard_testfile .f
|
||||
load_lib fortran.exp
|
||||
|
||||
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} {
|
||||
return -1
|
||||
@ -31,8 +32,8 @@ gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
# check that all fortran standard datatypes will be
|
||||
# handled correctly when using as VLA's
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla-sub.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla-sub.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -14,13 +14,14 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
standard_testfile "vla-sub.f90"
|
||||
load_lib fortran.exp
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug f90 quiet}] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto_main] {
|
||||
if ![fortran_runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
@ -129,8 +129,8 @@ gdb_test "print vla1(9, 9, 9)" "no such vector element \\\(vector not allocated\
|
||||
# Try to assign VLA to user variable
|
||||
clean_restart ${testfile}
|
||||
|
||||
if ![runto MAIN__] then {
|
||||
perror "couldn't run to breakpoint MAIN__"
|
||||
if ![fortran_runto_main] then {
|
||||
perror "couldn't run to main"
|
||||
continue
|
||||
}
|
||||
gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
|
||||
|
@ -23,8 +23,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} \
|
||||
return -1
|
||||
}
|
||||
|
||||
if ![runto MAIN__] {
|
||||
fail "run to MAIN__"
|
||||
if ![fortran_runto_main] {
|
||||
fail "run to main"
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
|
||||
mi_gdb_reinitialize_dir $srcdir/$subdir
|
||||
mi_gdb_load ${binfile}
|
||||
|
||||
mi_runto MAIN__
|
||||
mi_runto [fortran_main]
|
||||
|
||||
mi_create_varobj "array" "array" "create local variable array"
|
||||
|
||||
|
@ -126,3 +126,23 @@ proc fortran_character1 {} {
|
||||
return "unknown"
|
||||
}
|
||||
}
|
||||
|
||||
# Return name of the main procedure based on the compiler version.
|
||||
|
||||
proc fortran_main {} {
|
||||
if {[test_compiler_info {gcc-4-[012]-*}]
|
||||
|| [test_compiler_info {gcc-*}]
|
||||
|| [test_compiler_info {icc-*}]} {
|
||||
return "MAIN__"
|
||||
} elseif {[test_compiler_info {clang-*}]} {
|
||||
return "MAIN_"
|
||||
} else {
|
||||
return "unknown"
|
||||
}
|
||||
}
|
||||
|
||||
# Fortran version of runto_main.
|
||||
|
||||
proc fortran_runto_main { } {
|
||||
return [runto [fortran_main]]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user