https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111290

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
int main()
{
        int t = c;
        c |= d / a;
    b = (c) >= ((e %= 0x6B1D8456) > (res ^= t));
    printf("%d\n", res);
}
```
gives -104
While:
```
int main()
{
        c |= d / a;
        int t = c;
    b = (c) >= ((e %= 0x6B1D8456) > (res ^= t));
    printf("%d\n", res);
}
```

Gives -112 
Both are valid way of representing the original code as there is no sequence
point between them.

Note C++11 makes this well defined.

Reply via email to