This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
O2 and Overflow
- From: Heinz Riener <hriener at student dot tugraz dot at>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 23 Apr 2010 19:25:53 +0200
- Subject: O2 and Overflow
Dear all,
I'm using the native GCC version[1] of my GNU/Linux distribution. I
wonder whether GCC's optimization behavior is in the following case
correct. Consider the following two programs:
(1)
int test(int n) {
if (n > 0)
return 1;
return 0;
}
(2)
int test(int n) {
if (2*n > 0)
return 1;
return 0;
}
After compiling both with the flags '-c -O2 -pedantic -Wall', they
result in the same object file. I expected the object files to be
different. (The second program may overflow, the first program does
not.) Please, point me to the right direction.
[1]: gcc (GCC) 4.4.3 20100316 (prerelease)
Thanks,
Heinz