diff options
author | Marek Polacek <polacek@redhat.com> | 2013-12-11 12:25:05 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2013-12-11 12:25:05 +0000 |
commit | 67f95586afba2756e279f9d59a63a8f35a8d95f1 (patch) | |
tree | 29a9321e280f6bf8abf05f572386ad4b302eb0d2 /gcc | |
parent | e15aa62309c68972b155741ca15c9ac01a9e14a9 (diff) | |
download | gcc-67f95586afba2756e279f9d59a63a8f35a8d95f1.zip gcc-67f95586afba2756e279f9d59a63a8f35a8d95f1.tar.gz gcc-67f95586afba2756e279f9d59a63a8f35a8d95f1.tar.bz2 |
re PR middle-end/59399 (ICE in expand_expr_real_1 with -m64 -fsanitize=signed-integer-overflow)
PR sanitizer/59399
* expr.c (expand_expr_real_1): Remove assert dealing with
internal calls and turn that into a condition instead.
From-SVN: r205888
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/expr.c | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 949eb94..8a8f8a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-12-11 Marek Polacek <polacek@redhat.com> + + PR sanitizer/59399 + * expr.c (expand_expr_real_1): Remove assert dealing with + internal calls and turn that into a condition instead. + 2013-12-11 Yvan Roux <yvan.roux@linaro.org> * config/arm/arm.opt (mlra): Enable LRA by default. @@ -9482,13 +9482,11 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, the same mode we got when the variable was declared. */ if (code == SSA_NAME && (g = SSA_NAME_DEF_STMT (ssa_name)) - && gimple_code (g) == GIMPLE_CALL) - { - gcc_assert (!gimple_call_internal_p (g)); - pmode = promote_function_mode (type, mode, &unsignedp, - gimple_call_fntype (g), - 2); - } + && gimple_code (g) == GIMPLE_CALL + && !gimple_call_internal_p (g)) + pmode = promote_function_mode (type, mode, &unsignedp, + gimple_call_fntype (g), + 2); else pmode = promote_decl_mode (exp, &unsignedp); gcc_assert (GET_MODE (decl_rtl) == pmode); |