diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 64984fa2688..76f911a45c0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com) + + * lib/gfortran-dg.exp: New file (adapted from lib/g77-dg.exp) + * gfortran.dg/dg.exp: New file (adapted from g77.dg/dg.exp) + 2004-07-08 Eric Botcazou * gcc.c-torture/execute/920428-2.x: Delete. diff --git a/gcc/testsuite/gfortran.dg/dg.exp b/gcc/testsuite/gfortran.dg/dg.exp new file mode 100644 index 00000000000..c4176ebb8b5 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/dg.exp @@ -0,0 +1,40 @@ +# Copyright (C) 2004 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. + +# GCC testsuite that uses the `dg.exp' driver. + +# Load support procs. +load_lib gfortran-dg.exp + +# If a testcase doesn't have special options, use these. +global DEFAULT_FFLAGS +if ![info exists DEFAULT_FFLAGS] then { + set DEFAULT_FFLAGS " -pedantic-errors" +} + +# Initialize `dg'. +dg-init + +# Main loop. +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.f* ] ]\ + $DEFAULT_FFLAGS + +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/g77/*.f ] ] \ + $DEFAULT_FFLAGS + + +# All done. +dg-finish diff --git a/gcc/testsuite/lib/gfortran-dg.exp b/gcc/testsuite/lib/gfortran-dg.exp new file mode 100644 index 00000000000..f1c47b9c7c9 --- /dev/null +++ b/gcc/testsuite/lib/gfortran-dg.exp @@ -0,0 +1,46 @@ +# Copyright (C) 2004 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. + +load_lib gcc-dg.exp + +# Define gfortran callbacks for dg.exp. + +proc gfortran-dg-test { prog do_what extra_tool_flags } { + set result \ + [gcc-dg-test-1 gfortran_target_compile $prog $do_what $extra_tool_flags] + + set comp_output [lindex $result 0] + set output_file [lindex $result 1] + + # Put the error message on the same line as the line number + # Remove the line of source code with the error and + # the " ^" that points to error + regsub -all "\n\[^\n\]*\n *\\^\n" $comp_output "" comp_output + + return [list $comp_output $output_file] +} + +proc gfortran-dg-prune { system text } { + return [gcc-dg-prune $system $text] +} + +# Utility routines. + +# Modified dg-runtest that can cycle through a list of optimization options +# as c-torture does. +proc gfortran-dg-runtest { testcases default-extra-flags } { + return [gcc-dg-runtest $testcases ${default-extra-flags}] +}