------- Comment #2 from pinskia at gcc dot gnu dot org 2009-05-10 22:38 -------
This code is undefined because are there are two stores to test2 without a
sequence point.
test2+=readvlnum(&test2);
Can be evaluated like:
tmp1 = test2;
tmp2 = readvlnum(&test2);
test2 = tmp1 + tmp2;
Or:
tmp2 = readvlnum(&test2);
tmp1 = test2;
test2 = tmp1 + tmp2;
Both are what the C/C++ standards say it could evaluate this statement.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40096