is this broken or what?
Tim Olson
tim at nucleus.amd.com
Wed Jan 24 14:30:15 AEST 1990
In article <1990Jan23.155910.2439 at cubmol.bio.columbia.edu> ping at cubmol.bio.columbia.edu (Shiping Zhang) writes:
| In article <1482 at mdbs.UUCP> wsmith at mdbs.UUCP (Bill Smith) writes:
| > unsigned u = 0;
| >
| > if (u-- < 4)
| > printf("yes\n");
| > else
| > printf("no\n");
| >
| >The Data General Aviion 5000 (an 88000 machine) version of GCC converts this
| >into:
| >
| > unsigned u = 0;
| >
| > if(--u < 3) ....
| >
| >for the assembly.
| >
|
| To me, the codes in the two cases are same.
Check out what happens when u == 0. Yes, it is an unsafe optimization
which should not be performed.
-- Tim Olson
Advanced Micro Devices
(tim at amd.com)
More information about the Comp.lang.c
mailing list