[Bug middle-end/66984] ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 24 09:09:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66984

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-07-24
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The usual fix in fold-const.c is to make sure to convert operands to the
required type when building the final expression.  Thus instead of

10828           return fold_build2_loc (loc, EXACT_DIV_EXPR, type, arg0, arg1);

do

   return fold_build2_loc (loc, EXACT_DIV_EXPR, type,
                           fold_convert (type, arg0), fold_convert (type,
arg1));

you can see this pattern in many places.

Care to post a patch?  It's pre-approved.



More information about the Gcc-bugs mailing list