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



Jakub Jelinek <jakub at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |jakub at gcc dot gnu.org



--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-10-22 
09:55:21 UTC ---

The typedef there is essential, without stdint.h can be reproduced e.g. on

typedef unsigned long int T;



void

foo (int a, int *p)

{

  T b = 6309343725;

  if (*p ? (b = 1) : 0)

    if (b - (a = b /= 0) ? : (a + b))

      while (1)

        ;

}



but not when b is unsigned long long int directly.  slsr decides to change _12

= _9 + b_7; stmt to _12 = _12;, which is of course wrong.

Reply via email to