summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/f95-lang.c6
-rw-r--r--gcc/gimple-match-head.c1
4 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 39de254d757..9dfd43434b8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ * gimple-match-head.c (gimple_simplify): Remove premature checking
+ of builtin_decl_implicit of function calls we simplify.
+
2015-10-29 Bin Cheng <bin.cheng@arm.com>
* tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 02564cebeab..2d737f2f783 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ * f95-lang.c: Properly build variadic types for classification
+ and comparison builtins.
+
2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
James Norris <jnorris@codesourcery.com>
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index 67b0bac6e61..fdb396dc5ff 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -988,8 +988,7 @@ gfc_init_builtin_functions (void)
/* Type-generic floating-point classification built-ins. */
- ftype = build_function_type_list (integer_type_node,
- void_type_node, NULL_TREE);
+ ftype = build_function_type (integer_type_node, NULL_TREE);
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,
@@ -1003,8 +1002,7 @@ gfc_init_builtin_functions (void)
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);
+ 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,
diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
index 6c26f79e7d6..51016b5f013 100644
--- a/gcc/gimple-match-head.c
+++ b/gcc/gimple-match-head.c
@@ -752,7 +752,6 @@ gimple_simplify (gimple *stmt,
tree decl = TREE_OPERAND (fn, 0);
if (DECL_BUILT_IN_CLASS (decl) != BUILT_IN_NORMAL
- || !builtin_decl_implicit (DECL_FUNCTION_CODE (decl))
|| !gimple_builtin_call_types_compatible_p (stmt, decl))
return false;