summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 12:13:37 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 12:13:37 +0000
commit7f87d0962edfc5c412751c941f2a204661ba78ed (patch)
tree35565a50c1fd801a06a6873a781d2001a276838b
parent389d5da778203eb6e511eaac00848740ea61989f (diff)
downloadppe42-gcc-7f87d0962edfc5c412751c941f2a204661ba78ed.tar.gz
ppe42-gcc-7f87d0962edfc5c412751c941f2a204661ba78ed.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86761 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x2
-rw-r--r--gcc/testsuite/lib/fortran-torture.exp22
6 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 193974b9867..175c078f024 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 00000000000..be755d03596
--- /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 00000000000..be755d03596
--- /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 00000000000..be755d03596
--- /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 00000000000..be755d03596
--- /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 c7ecf0e0e68..dae028139dd 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"
+ }
+}
OpenPOWER on IntegriCloud