diff options
author | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-09 09:47:25 +0000 |
---|---|---|
committer | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-09 09:47:25 +0000 |
commit | d733353527c40ce07047ef23005de996dd6aab01 (patch) | |
tree | 50e92902ab44fae4fa8b683d332d148d1627916f /gcc/fortran/trans.h | |
parent | c0d7a1d0ec9666af685b58d35bfc92c036152aaa (diff) | |
download | gcc-d733353527c40ce07047ef23005de996dd6aab01.tar.gz |
* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
built-ins.
* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
remainder, rint and signbit.
* trans-decl.c (save_fp_state, restore_fp_state): Move to
trans-intrinsic.c
(gfc_generate_function_code): Use new names for these two functions.
* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
emit code from the front-end.
* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
conv_ieee_function_args, conv_intrinsic_ieee_builtin,
conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
New functions.
* trans.h (gfc_conv_ieee_arithmetic_function,
gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
ieee_rem_*, ieee_next_after_*): Remove functions.
* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216036 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r-- | gcc/fortran/trans.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index 03136e609be..70719e4bc8a 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -437,6 +437,10 @@ tree size_of_string_in_bytes (int, tree); /* Intrinsic procedure handling. */ tree gfc_conv_intrinsic_subroutine (gfc_code *); void gfc_conv_intrinsic_function (gfc_se *, gfc_expr *); +bool gfc_conv_ieee_arithmetic_function (gfc_se *, gfc_expr *); +tree gfc_save_fp_state (stmtblock_t *); +void gfc_restore_fp_state (stmtblock_t *, tree); + /* Does an intrinsic map directly to an external library call This is true for array-returning intrinsics, unless @@ -792,6 +796,10 @@ extern GTY(()) tree gfor_fndecl_sc_kind; extern GTY(()) tree gfor_fndecl_si_kind; extern GTY(()) tree gfor_fndecl_sr_kind; +/* IEEE-related. */ +extern GTY(()) tree gfor_fndecl_ieee_procedure_entry; +extern GTY(()) tree gfor_fndecl_ieee_procedure_exit; + /* True if node is an integer constant. */ #define INTEGER_CST_P(node) (TREE_CODE(node) == INTEGER_CST) |