From 5cb733892809c62650c94011e42d56998837fd69 Mon Sep 17 00:00:00 2001 From: uros Date: Wed, 2 Jul 2014 08:45:08 +0000 Subject: [PATCH] libgfortran/ChangeLog: * 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. testsuite/ChangeLog: * gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0. * gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212224 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 9 +++++++-- gcc/testsuite/gfortran.dg/ieee/ieee_1.F90 | 2 +- gcc/testsuite/gfortran.dg/ieee/ieee_rounding_1.f90 | 1 + libgfortran/ChangeLog | 10 +++++++++- libgfortran/config/fpu-aix.h | 3 +++ libgfortran/config/fpu-glibc.h | 3 +++ libgfortran/configure.host | 2 ++ 7 files changed, 26 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2947c76..b364f40 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 9c1c4e3..5c1a061 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 e6bf612..c44178e 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 3e03310..bb98a6c 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 6b44ab7..c1079fc 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 695b9d3..7f3c819 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 72da478..0a12a32 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 -- 2.7.4