]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/59399 (ICE in expand_expr_real_1 with -m64 -fsanitize=signed-integer...
authorMarek Polacek <polacek@redhat.com>
Wed, 11 Dec 2013 12:25:05 +0000 (12:25 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Wed, 11 Dec 2013 12:25:05 +0000 (12:25 +0000)
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

gcc/ChangeLog
gcc/expr.c

index 949eb9479972b01e8f6c8688efcf1504b79934d3..8a8f8a996a2e9a8c167254fa7f580ba2592ac37c 100644 (file)
@@ -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.
index 19df9dc0146582e09f17ab2bba5a30bdaba636b1..225555eaf3b48d6503c1dbd0f2d91734fcaba262 100644 (file)
@@ -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);