From: Wu Zhou Date: Fri, 17 Jun 2005 05:18:12 +0000 (+0000) Subject: * gdb.fortran/array_element.f: New file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7a55f27940166650342bc8e7dfcfe97d43a7e7ce;p=binutils-gdb.git * gdb.fortran/array_element.f: New file. * gdb.fortran/array_element.exp: New testcase. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 60d4a84dfd1..a231e4fa75e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-06-17 Wu Zhou + + * gdb.fortran/array_element.f: New file. + * gdb.fortran/array_element.exp: New testcase. + 2005-06-13 Daniel Jacobowitz * gdb.base/bigcore.exp: Correct checks for systems which can diff --git a/gdb/testsuite/gdb.fortran/array-element.exp b/gdb/testsuite/gdb.fortran/array-element.exp new file mode 100644 index 00000000000..d36a86fcf9b --- /dev/null +++ b/gdb/testsuite/gdb.fortran/array-element.exp @@ -0,0 +1,59 @@ +# Copyright 2005 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This file was written by Wu Zhou. (woodzltc@cn.ibm.com) + +# This file is part of the gdb testsuite. It contains test for printing +# the elements of an array which is passed as pointer to a subroutine. + +if $tracelevel then { + strace $tracelevel +} + +set testfile "array-element" +set srcfile ${testfile}.f +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { + untested "Couldn't compile ${srcfile}" + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if ![runto sub_] then { + perror "couldn't run to breakpoint sub_" + continue +} + +set bp_location [gdb_get_line_number "continue"] +gdb_test "break $bp_location" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location\\." \ + "breakpoint at continue" + +gdb_test "continue" \ + "Continuing\\..*Breakpoint.*" \ + "continue to breakpoint" +gdb_test "print a(1)" ".*1 = 1.*" "print the first element of array a" + +gdb_test "continue" \ + "Continuing\\..*Breakpoint.*" \ + "continue to breakpoint once again" +gdb_test "print a(2)" ".*2 = 2.*" "print the second element of array a" + diff --git a/gdb/testsuite/gdb.fortran/array-element.f b/gdb/testsuite/gdb.fortran/array-element.f new file mode 100644 index 00000000000..cc5a20df5b4 --- /dev/null +++ b/gdb/testsuite/gdb.fortran/array-element.f @@ -0,0 +1,33 @@ +c Copyright 2005 Free Software Foundation, Inc. + +c This program is free software; you can redistribute it and/or modify +c it under the terms of the GNU General Public License as published by +c the Free Software Foundation; either version 2 of the License, or +c (at your option) any later version. +c +c This program is distributed in the hope that it will be useful, +c but WITHOUT ANY WARRANTY; without even the implied warranty of +c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +c GNU General Public License for more details. +c +c You should have received a copy of the GNU General Public License +c along with this program; if not, write to the Free Software +c Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +c Ihis file is the F77 source file for array-element.exp. It was written +c by Wu Zhou. (woodzltc@cn.ibm.com) + + dimension a(10) + write(*,*) 'This is a test.' + call sub(a,10) + write(*,*) a + stop + end + + subroutine sub(a,n) + dimension a(n) + do 100 i = 1, n + a(i) = i +100 continue + return + end