This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Fortran complex number test


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]