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

Reply via email to