aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/f95-lang.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/f95-lang.cc')
-rw-r--r--gcc/fortran/f95-lang.cc23
1 files changed, 20 insertions, 3 deletions
diff --git a/gcc/fortran/f95-lang.cc b/gcc/fortran/f95-lang.cc
index 319cf8f..a6750be 100644
--- a/gcc/fortran/f95-lang.cc
+++ b/gcc/fortran/f95-lang.cc
@@ -530,8 +530,6 @@ gfc_init_decl_processing (void)
only use it for actual characters, not for INTEGER(1). */
build_common_tree_nodes (false);
- void_list_node = build_tree_list (NULL_TREE, void_type_node);
-
/* Set up F95 type nodes. */
gfc_init_kinds ();
gfc_init_types ();
@@ -1013,10 +1011,13 @@ gfc_init_builtin_functions (void)
"__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_issignaling", ftype, BUILT_IN_ISSIGNALING,
+ "__builtin_issignaling", ATTR_CONST_NOTHROW_LEAF_LIST);
gfc_define_builtin ("__builtin_signbit", ftype, BUILT_IN_SIGNBIT,
"__builtin_signbit", ATTR_CONST_NOTHROW_LEAF_LIST);
+ gfc_define_builtin ("__builtin_fpclassify", ftype, BUILT_IN_FPCLASSIFY,
+ "__builtin_fpclassify", ATTR_CONST_NOTHROW_LEAF_LIST);
- ftype = build_function_type (integer_type_node, NULL_TREE);
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,
@@ -1278,6 +1279,22 @@ gfc_init_builtin_functions (void)
"__builtin_assume_aligned",
ATTR_CONST_NOTHROW_LEAF_LIST);
+ ftype = build_function_type_list (long_double_type_node, long_double_type_node,
+ long_double_type_node, long_double_type_node,
+ NULL_TREE);
+ gfc_define_builtin ("__builtin_fmal", ftype, BUILT_IN_FMAL,
+ "fmal", ATTR_CONST_NOTHROW_LEAF_LIST);
+ ftype = build_function_type_list (double_type_node, double_type_node,
+ double_type_node, double_type_node,
+ NULL_TREE);
+ gfc_define_builtin ("__builtin_fma", ftype, BUILT_IN_FMA,
+ "fma", ATTR_CONST_NOTHROW_LEAF_LIST);
+ ftype = build_function_type_list (float_type_node, float_type_node,
+ float_type_node, float_type_node,
+ NULL_TREE);
+ gfc_define_builtin ("__builtin_fmaf", ftype, BUILT_IN_FMAF,
+ "fmaf", ATTR_CONST_NOTHROW_LEAF_LIST);
+
gfc_define_builtin ("__emutls_get_address",
builtin_types[BT_FN_PTR_PTR],
BUILT_IN_EMUTLS_GET_ADDRESS,