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/expr.c | |
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/expr.c')
-rw-r--r-- | gcc/expr.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -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); |