+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.
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
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.
}
}
+#
+# 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"
+ }
+}