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



--- Comment #5 from Sebastian Huber <sebastian.hu...@embedded-brains.de> 
2012-11-06 15:34:57 UTC ---

(In reply to comment #3)

> enum E { E1 = -1 + (int) (sizeof (int) - 1) };

> errors while it used to be accepted before.

> Dunno if that is valid or not.

> If it is valid, the series of foldings that result into the overflow are first

> folding sizeof (int) - 1UL into sizeof (int) + 18446744073709551615UL and 
> later

> on conversion of -1 + (int) (sizeof (int) + 18446744073709551615UL) to

> -1 + (int) sizeof (int) + (int) 18446744073709551615UL.



Why is the ( ) ignored?  The sizeof (int) - 1 is clearly an unsigned integer

which can be converted to a signed integer.

Reply via email to