summaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-03-12 09:17:08 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-03-12 09:17:08 +0100
commit1c178a5af523f2baf7c0501f86190ea3e2a45cbf (patch)
tree938facc11da501295d6f5253ed80ba26fa542a3e /gcc/builtins.c
parentd9e1f37fad2db0cd749cd5c6f9e94972c8472610 (diff)
re PR middle-end/89663 (ICE in expand_builtin_int_roundingfn_2, at builtins.c:2831)
PR middle-end/89663 * builtins.c (expand_builtin_int_roundingfn, expand_builtin_int_roundingfn_2): Return NULL_RTX instead of gcc_unreachable if validate_arglist fails. * gcc.c-torture/compile/pr89663-1.c: New test. * gcc.c-torture/compile/pr89663-2.c: New test. From-SVN: r269605
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index a65eb88bc49..93f829fa90b 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -2692,7 +2692,7 @@ expand_builtin_int_roundingfn (tree exp, rtx target)
tree arg;
if (!validate_arglist (exp, REAL_TYPE, VOID_TYPE))
- gcc_unreachable ();
+ return NULL_RTX;
arg = CALL_EXPR_ARG (exp, 0);
@@ -2828,7 +2828,7 @@ expand_builtin_int_roundingfn_2 (tree exp, rtx target)
enum built_in_function fallback_fn = BUILT_IN_NONE;
if (!validate_arglist (exp, REAL_TYPE, VOID_TYPE))
- gcc_unreachable ();
+ return NULL_RTX;
arg = CALL_EXPR_ARG (exp, 0);