This is the mail archive of the gcc-bugs@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: a.out gives different results when compiled by g++ 3.1 and g++ 3.1 -O


Erick Alphonse <alphonse@lri.fr> writes:

> >>*p++ = twist( p[M-N], p[0], p[1] );
> 
> I have found the latest version of the code, and the guy goes:
> v0.7 - Fixed operator precedence ambiguity in reload()
> 
> which gives:
> 	for( i = N - M; i--; ++p )
> 		*p = twist( p[M], p[0], p[1] );
> 	for( i = M; --i; ++p )
> 		*p = twist( p[M-N], p[0], p[1] );
> 
> I suppose it's what your were talking about.

No, while it looked fishy, it was actually well-defined, since the
function call introduces a sequence point.

-- 
	Falk


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