2010/4/23 Heinz Riener <hrie...@student.tugraz.at>: > 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 >
For such overflow checks you have to use the option -fwrapv to enable overflow checks. Kai -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination