From 384aedfcf16640be3b3250743304207f63d4cde9 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 29 Oct 2015 08:16:44 +0000 Subject: [PATCH] gimple-match-head.c (gimple_simplify): Remove premature checking of builtin_decl_implicit of function calls we simplify. 2015-10-29 Richard Biener * 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. From-SVN: r229515 --- gcc/ChangeLog | 5 +++++ gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/f95-lang.c | 6 ++---- gcc/gimple-match-head.c | 1 - 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 + + * gimple-match-head.c (gimple_simplify): Remove premature checking + of builtin_decl_implicit of function calls we simplify. + 2015-10-29 Bin Cheng * 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 + + * f95-lang.c: Properly build variadic types for classification + and comparison builtins. + 2015-10-27 Thomas Schwinge James Norris 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; -- 2.30.2