[Bug c/26824] optimisation bug with -0x80000000

2006-03-23 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2006-03-23 15:17 --- Mark as a dup of bug 25329. *** This bug has been marked as a duplicate of 25329 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug c/26824] optimisation bug with -0x80000000

2006-03-23 Thread pinskia at gcc dot gnu dot org
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-03-23 15:17 --- Reopening to ... -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Statu

[Bug c/26824] optimisation bug with -0x80000000

2006-03-23 Thread pinskia at gcc dot gnu dot org
--- Comment #7 from pinskia at gcc dot gnu dot org 2006-03-23 15:15 --- (In reply to comment #5) > I see your point, but I still think there's a bug. Let me change the code > slightly: The code is still undefined, as you are comparing an overflowed variable to something. -x is still un

[Bug c/26824] optimisation bug with -0x80000000

2006-03-23 Thread rearnsha at gcc dot gnu dot org
--- Comment #6 from rearnsha at gcc dot gnu dot org 2006-03-23 15:14 --- Pinskia is right, and this is just as undefined as your previous example (negating INT_MIN is just undefined, however you do it). All you've done is obfuscated things a bit more. -- rearnsha at gcc dot gnu dot

[Bug c/26824] optimisation bug with -0x80000000

2006-03-23 Thread simonmar at microsoft dot com
--- Comment #5 from simonmar at microsoft dot com 2006-03-23 15:10 --- I see your point, but I still think there's a bug. Let me change the code slightly: #include #include void f(int x) { long y; if (x < 0) { y = -x; if (y > 0) { printf("%d\n",y)