diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2015-08-16 16:37:18 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2015-08-16 16:37:18 +0000 |
commit | c541d5217e6571a0a5d8bf56db831c1ad63756ff (patch) | |
tree | e7f1fbe7cd34b2aaa62a306bea0cee890892570a /gcc/fortran/f95-lang.c | |
parent | 9f801fd79aca0090598da27d04506ddc65103443 (diff) | |
download | gcc-c541d5217e6571a0a5d8bf56db831c1ad63756ff.zip gcc-c541d5217e6571a0a5d8bf56db831c1ad63756ff.tar.gz gcc-c541d5217e6571a0a5d8bf56db831c1ad63756ff.tar.bz2 |
trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type generic BUILT_IN_SIGNBIT.
* trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
generic BUILT_IN_SIGNBIT.
(conv_intrinsic_ieee_copy_sign): Likewise.
* f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
variants of BUILT_IN_SIGNBIT.
* mathbuiltins.def: Remove SIGNBIT.
From-SVN: r226924
Diffstat (limited to 'gcc/fortran/f95-lang.c')
-rw-r--r-- | gcc/fortran/f95-lang.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c index f73bc08..c42d0dd 100644 --- a/gcc/fortran/f95-lang.c +++ b/gcc/fortran/f95-lang.c @@ -975,37 +975,38 @@ gfc_init_builtin_functions (void) gfc_define_builtin ("__builtin_realloc", ftype, BUILT_IN_REALLOC, "realloc", ATTR_NOTHROW_LEAF_LIST); + /* Type-generic floating-point classification built-ins. */ + ftype = build_function_type_list (integer_type_node, void_type_node, NULL_TREE); - gfc_define_builtin ("__builtin_isnan", ftype, BUILT_IN_ISNAN, - "__builtin_isnan", ATTR_CONST_NOTHROW_LEAF_LIST); gfc_define_builtin ("__builtin_isfinite", ftype, BUILT_IN_ISFINITE, "__builtin_isfinite", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isinf", ftype, BUILT_IN_ISINF, + "__builtin_isinf", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isinf_sign", ftype, BUILT_IN_ISINF_SIGN, + "__builtin_isinf_sign", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isnan", ftype, BUILT_IN_ISNAN, + "__builtin_isnan", ATTR_CONST_NOTHROW_LEAF_LIST); gfc_define_builtin ("__builtin_isnormal", ftype, BUILT_IN_ISNORMAL, "__builtin_isnormal", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_signbit", ftype, BUILT_IN_SIGNBIT, + "__builtin_signbit", ATTR_CONST_NOTHROW_LEAF_LIST); ftype = build_function_type_list (integer_type_node, void_type_node, void_type_node, NULL_TREE); - gfc_define_builtin ("__builtin_isunordered", ftype, BUILT_IN_ISUNORDERED, - "__builtin_isunordered", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isless", ftype, BUILT_IN_ISLESS, + "__builtin_isless", ATTR_CONST_NOTHROW_LEAF_LIST); gfc_define_builtin ("__builtin_islessequal", ftype, BUILT_IN_ISLESSEQUAL, "__builtin_islessequal", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_islessgreater", ftype, BUILT_IN_ISLESSGREATER, + "__builtin_islessgreater", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isgreater", ftype, BUILT_IN_ISGREATER, + "__builtin_isgreater", ATTR_CONST_NOTHROW_LEAF_LIST); gfc_define_builtin ("__builtin_isgreaterequal", ftype, BUILT_IN_ISGREATEREQUAL, "__builtin_isgreaterequal", ATTR_CONST_NOTHROW_LEAF_LIST); - - ftype = build_function_type_list (integer_type_node, - float_type_node, NULL_TREE); - gfc_define_builtin("__builtin_signbitf", ftype, BUILT_IN_SIGNBITF, - "signbitf", ATTR_CONST_NOTHROW_LEAF_LIST); - ftype = build_function_type_list (integer_type_node, - double_type_node, NULL_TREE); - gfc_define_builtin("__builtin_signbit", ftype, BUILT_IN_SIGNBIT, - "signbit", ATTR_CONST_NOTHROW_LEAF_LIST); - ftype = build_function_type_list (integer_type_node, - long_double_type_node, NULL_TREE); - gfc_define_builtin("__builtin_signbitl", ftype, BUILT_IN_SIGNBITL, - "signbitl", ATTR_CONST_NOTHROW_LEAF_LIST); + gfc_define_builtin ("__builtin_isunordered", ftype, BUILT_IN_ISUNORDERED, + "__builtin_isunordered", ATTR_CONST_NOTHROW_LEAF_LIST); #define DEF_PRIMITIVE_TYPE(ENUM, VALUE) \ |