aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/f95-lang.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2015-08-16 16:37:18 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2015-08-16 16:37:18 +0000
commitc541d5217e6571a0a5d8bf56db831c1ad63756ff (patch)
treee7f1fbe7cd34b2aaa62a306bea0cee890892570a /gcc/fortran/f95-lang.c
parent9f801fd79aca0090598da27d04506ddc65103443 (diff)
downloadgcc-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.c35
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) \