http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38756

Peter A. Bigot <bigotp at acm dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bigotp at acm dot org

--- Comment #1 from Peter A. Bigot <bigotp at acm dot org> 2012-06-21 11:34:15 
UTC ---
I confirm this in 4.7.0.  It's due to rewrite_use_nonlinear_expr() not checking
whether TYPE_PRECISION(ctype) < TYPE_PRECISION(utype) before doing the pointer
adjustment in ctype and converting back to utype.

Something like this fixes it in my case:

      if (TYPE_PRECISION (ctype) < TYPE_PRECISION (utype))
    {
      ctype = generic_type_for (utype);
      step = fold_convert (ctype, unshare_expr (step));
    }

Reply via email to