aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2013-12-11 12:25:05 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2013-12-11 12:25:05 +0000
commit67f95586afba2756e279f9d59a63a8f35a8d95f1 (patch)
tree29a9321e280f6bf8abf05f572386ad4b302eb0d2 /gcc/expr.c
parente15aa62309c68972b155741ca15c9ac01a9e14a9 (diff)
downloadgcc-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.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 19df9dc..225555e 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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);