------- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-14 02:55 -------
(In reply to comment #2)
> It does not matter either. The evaluation of a function argument is an atomic
> procedure. If it starts it should generate a result. Isn't it strange if the
> compiler evaluates a little bit of the first argument, then a little bit of 
> the
> second argument, then a little bit of the third argument, then goes back to 
> the
> first and completes the evaluation?

Why do you think it is an atomic procedure?  There is nothing in the standard
that says:

f(a, a++, b+(a++)+(a++))

evaluates each of those as atomic in fact the reverse is true in that it says
the order is undefined as there is no sequence point inbetween those arguments
as the comma in this case is not the comma operator but argument seperator.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27153

Reply via email to