diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2947c76e312..b364f407b46 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-07-02 Uros Bizjak + + * 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 * g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error. @@ -15,8 +20,8 @@ Yufeng Zhang * 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 diff --git a/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 b/gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 index 9c1c4e374d4..5c1a0619887 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 e6bf6125ecd..c44178ee1ae 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 3e033104965..bb98a6caaa8 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,11 @@ +2014-07-02 Uros Bizjak + + * 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 * 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 6b44ab7c850..c1079fcc1a3 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 695b9d3fbb0..7f3c81984ab 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 72da478ac5e..0a12a32fc8a 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