diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2947c76e312808430308c751820b526ec6e88049..b364f407b46cf568dafb16365b3873c06495c42a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-07-02 Uros Bizjak <ubizjak@gmail.com> + + * gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0. + * gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add. + 2014-07-02 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error. @@ -15,8 +20,8 @@ Yufeng Zhang <yufeng.zhang@arm.com> * gcc.target/aarch64/aapcs64/aapcs64.exp: - (additional_flags_for_func_ret): New variable based on $additional_flags - with -fno-use-caller-save. + (additional_flags_for_func_ret): New variable based on + $additional_flags with -fno-use-caller-save. (func-ret-*.c): Use the new variable. 2014-07-01 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 b/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 index 9c1c4e374d4b4ff09720ce733f2dcc3636ba0b51..5c1a061988776aa670f944d5509d28a019cd3377 100644 --- a/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 +++ b/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 @@ -1,5 +1,5 @@ ! { dg-do run } -! { dg-additional-options "-ffree-line-length-none -O0" } +! { dg-additional-options "-ffree-line-length-none" } ! ! Use dg-additional-options rather than dg-options to avoid overwriting the ! default IEEE options which are passed by ieee.exp and necessary. diff --git a/gcc/testsuite/gfortran.dg/ieee/ieee_rounding_1.f90 b/gcc/testsuite/gfortran.dg/ieee/ieee_rounding_1.f90 index e6bf6125ecd5bd0d67aedc342ad2909922041c0e..c44178ee1ae4e15c97c4578ce2c7087d7ff91b10 100644 --- a/gcc/testsuite/gfortran.dg/ieee/ieee_rounding_1.f90 +++ b/gcc/testsuite/gfortran.dg/ieee/ieee_rounding_1.f90 @@ -1,4 +1,5 @@ ! { dg-do run } +! { dg-additional-options "-mfp-rounding-mode=d" { target alpha*-*-* } } use, intrinsic :: ieee_features, only : ieee_rounding use, intrinsic :: ieee_arithmetic diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 3e03310496540c96bf82171b6f67979ee18fb95d..bb98a6caaa85e6f176da988ccaccd55cc433a90b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,11 @@ +2014-07-02 Uros Bizjak <ubizjak@gmail.com> + + * configure.host (ieee_flags): Add -mieee for alpha*. + + * config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle + GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO. + * config/fpu-aix.h (support_fpu_rounding_mode): Ditto. + 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> * config/fpu-387.h (my_fenv_t): Amend structure so it also works @@ -7,7 +15,7 @@ PR libgfortran/61640 * io/list_read.c (next_char_internal): Adjust the read length to - a single wide character. (eat_spaces): Add missing paren. + a single wide character. (eat_spaces): Add missing paren. * io/unix.c (mem_read4): Use the correct mem_alloc function for wide character internal reads. diff --git a/libgfortran/config/fpu-aix.h b/libgfortran/config/fpu-aix.h index 6b44ab7c850ec7e86587193a090c0355afce3e28..c1079fcc1a3bf735ca3456567db45f0d8c6ad433 100644 --- a/libgfortran/config/fpu-aix.h +++ b/libgfortran/config/fpu-aix.h @@ -372,18 +372,21 @@ support_fpu_rounding_mode (int mode) return 0; #endif + case GFC_FPE_UPWARD: #ifdef FE_UPWARD return 1; #else return 0; #endif + case GFC_FPE_DOWNWARD: #ifdef FE_DOWNWARD return 1; #else return 0; #endif + case GFC_FPE_TOWARDZERO: #ifdef FE_TOWARDZERO return 1; #else diff --git a/libgfortran/config/fpu-glibc.h b/libgfortran/config/fpu-glibc.h index 695b9d3fbb0e1c55de5a386dfcf0724ff5848052..7f3c81984ab3a2a95199a54f0e0c67809bcebd4a 100644 --- a/libgfortran/config/fpu-glibc.h +++ b/libgfortran/config/fpu-glibc.h @@ -387,18 +387,21 @@ support_fpu_rounding_mode (int mode) return 0; #endif + case GFC_FPE_UPWARD: #ifdef FE_UPWARD return 1; #else return 0; #endif + case GFC_FPE_DOWNWARD: #ifdef FE_DOWNWARD return 1; #else return 0; #endif + case GFC_FPE_TOWARDZERO: #ifdef FE_TOWARDZERO return 1; #else diff --git a/libgfortran/configure.host b/libgfortran/configure.host index 72da478ac5e7ce51d9e0d24206a20d5e5b6cc165..0a12a32fc8a521c48546375b82c237b6693f09aa 100644 --- a/libgfortran/configure.host +++ b/libgfortran/configure.host @@ -48,6 +48,8 @@ esac # Some targets require additional compiler options for NaN/Inf. ieee_flags= case "${host_cpu}" in + alpha*) + ieee_flags="-mieee" ;; sh*) ieee_flags="-mieee" ;; esac