Re: GCC optimization bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> The following code prints different results when run with different
> optimization levels (O0 vs O2).
>
> int main() {
>         int i = INT_MAX - 5;
>         int j = 0;
>         for (; i <= INT_MAX - 2; i += 3) {
>                 if (i <= 1) {
>                         j = 1;
>                 }
>         }
>         printf("%d",j);
>         return 0;
> }
>
> Commands used :
>  gcc -O0 -fno-strict-overflow bug.c -o bug        # Output is 1
>  gcc -O2 -fno-strict-overflow bug.c -o bug        # Output is 0

Also see Signed Overflow, http://www.airs.com/blog/archives/120 .

Jeff



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux