This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: warning: operation on 'zero' may be undefined


On Friday 01 October 2004 03:57, Mathieu Malaterre wrote:
> Hello,
>
>  I am trying gcc4, and turning -Wall reveal a strange warning:
>
> int main()
> {
>    int zero = 125;
>    zero = (++zero)%3;
> }
>
> g++ -Wall foo.cxx
>
> foo.cxx: In function `int main()':
> foo.cxx:4: warning: operation on 'zero' may be undefined
>
> What does this mean ?

You incrementing and assigning to the same variable in one statement, which 
invokes undefined behaviour.

The code you wrote can be interpreted as
zero = zero%3;
or
zero = (zero % 3) + 1
or possibly even something entirely different.

Paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]