diff options
author | Richard Henderson <rth@redhat.com> | 2004-08-30 05:13:37 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-08-30 05:13:37 -0700 |
commit | 83010c5a1948342d3363d17b268589957e7f31f3 (patch) | |
tree | 35565a50c1fd801a06a6873a781d2001a276838b /gcc | |
parent | f25605acef7d9246e7e9e11a5826cdce854ccd00 (diff) | |
download | gcc-83010c5a1948342d3363d17b268589957e7f31f3.zip gcc-83010c5a1948342d3363d17b268589957e7f31f3.tar.gz gcc-83010c5a1948342d3363d17b268589957e7f31f3.tar.bz2 |
fortran-torture.exp (fortran-torture-execute): Honor additional_flags set by alternate driver.
* lib/fortran-torture.exp (fortran-torture-execute): Honor
additional_flags set by alternate driver.
(ieee-options): New procedure.
* gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x: New.
* gfortran.fortran-torture/execute/intrinsic_nearest.x: New.
* gfortran.fortran-torture/execute/intrinsic_set_exponent.x: New.
* gfortran.fortran-torture/execute/nan_inf_fmt.x: New.
From-SVN: r86761
Diffstat (limited to 'gcc')
6 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 193974b..175c078 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,15 @@ 2004-08-30 Richard Henderson <rth@redhat.com> + * lib/fortran-torture.exp (fortran-torture-execute): Honor + additional_flags set by alternate driver. + (ieee-options): New procedure. + * gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x: New. + * gfortran.fortran-torture/execute/intrinsic_nearest.x: New. + * gfortran.fortran-torture/execute/intrinsic_set_exponent.x: New. + * gfortran.fortran-torture/execute/nan_inf_fmt.x: New. + +2004-08-30 Richard Henderson <rth@redhat.com> + * lib/f-torture.exp: Remove. 2004-08-29 Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x new file mode 100644 index 0000000..be755d0 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x @@ -0,0 +1,2 @@ +lappend additional_flags [ieee-options] +return 0 diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x new file mode 100644 index 0000000..be755d0 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x @@ -0,0 +1,2 @@ +lappend additional_flags [ieee-options] +return 0 diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x new file mode 100644 index 0000000..be755d0 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x @@ -0,0 +1,2 @@ +lappend additional_flags [ieee-options] +return 0 diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x b/gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x new file mode 100644 index 0000000..be755d0 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x @@ -0,0 +1,2 @@ +lappend additional_flags [ieee-options] +return 0 diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp index c7ecf0e..dae0281 100644 --- a/gcc/testsuite/lib/fortran-torture.exp +++ b/gcc/testsuite/lib/fortran-torture.exp @@ -139,6 +139,7 @@ proc fortran-torture-execute { src } { global TORTURE_OPTIONS # Check for alternate driver. + set additional_flags ""; if [file exists [file rootname $src].x] { verbose "Using alternate driver [file rootname [file tail $src]].x" 2 set done_p 0 @@ -184,6 +185,9 @@ proc fortran-torture-execute { src } { set options "" lappend options "additional_flags=-w $option" + if { $additional_flags != "" } { + lappend options "additional_flags=$additional_flags"; + } set comp_output [gfortran_target_compile "$src" "$executable" executable $options]; # See if we got something bad. @@ -341,3 +345,21 @@ proc fortran-torture { args } { } } +# +# ieee-options -- return options necessary for 100% ieee conformance. +# +proc ieee-options { } { + # Ensure that excess precision does not cause problems. + if [istarget "i?86-*-*"] then { + return "-ffloat-store" + } + if [istarget "m68k-*-*"] then { + return "-ffloat-store" + } + + # Enable full IEEE compliance mode. + if { [istarget "alpha*-*-*"] + || [istarget "sh*-*-*"] } then { + return "-mieee" + } +} |