[commit] Fortran complex number test
Daniel Jacobowitz
drow@false.org
Mon May 7 01:12:00 GMT 2007
Ages ago (November 2001) we got a report that printing complex numbers
from a Fortran program did not work. Nowadays it works fine; I
suspect stabs or an old GCC were to blame. Still, it seems like a
sensible thing to test; so I checked in this test, which passes on
x86_64-linux (using either g77 or gfortran).
--
Daniel Jacobowitz
CodeSourcery
2007-05-06 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.fortran/complex.exp, gdb.fortran/complex.f: New files.
Index: gdb.fortran/complex.exp
===================================================================
RCS file: gdb.fortran/complex.exp
diff -N gdb.fortran/complex.exp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdb.fortran/complex.exp 7 May 2007 01:10:48 -0000
@@ -0,0 +1,46 @@
+# Copyright 2007 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.
+
+set testfile "complex"
+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 MAIN__] then {
+ perror "Couldn't run to MAIN__"
+ continue
+}
+
+set bp_location [gdb_get_line_number "stop"]
+gdb_test "break $bp_location" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location\\." \
+ "breakpoint at stop"
+
+gdb_test "continue" \
+ "Continuing\\..*Breakpoint.*" \
+ "continue to breakpoint"
+
+gdb_test "print c" "\\\$$decimal = \\(1000,-50\\)"
Index: gdb.fortran/complex.f
===================================================================
RCS file: gdb.fortran/complex.f
diff -N gdb.fortran/complex.f
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdb.fortran/complex.f 7 May 2007 01:10:48 -0000
@@ -0,0 +1,25 @@
+c Copyright 2007 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.
+
+ real*8 a,b
+ complex*16 c
+
+ a = 1000
+ b = -50
+ c = cmplx(a,b)
+ write(*,*) s
+ stop
+ end
More information about the Gdb-patches
mailing list