summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-29 08:16:44 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-29 08:16:44 +0000
commita7a322da90f03f24f7a96766858a4a3cd3fe2a4a (patch)
tree15cf66a3f3a85b75ab2acbfb36e08ca55b54cb55
parentbc6691f6faf57c11b532a01999eb8b7854d6ac0c (diff)
downloadgcc-a7a322da90f03f24f7a96766858a4a3cd3fe2a4a.tar.gz
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. fortran/ * f95-lang.c: Properly build variadic types for classification and comparison builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229515 138bc75d-0d04-0410-961f-82ee72b054a4
-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;