David Schultz <[EMAIL PROTECTED]> writes:
> On Thu, Jan 27, 2005, Jacques Fourie wrote:
> > unsigned char *p = NULL;
> > unsigned char v = 0x55;
> > /* ... */
> > p = (unsigned char *)ip_output;
> > /* ... */
> > v = p[0];
> > p[0] = v;
> > /* ... */
> When the line is there, the compiler is probably smart enough to
> realize that 'x=y; y=x' is (usually) a no-op, so it optimizes away
> both statements.

Wrong.  The compiler is free to optimize away the second statement
provided that neither x nor y is declared volatile, but it cannot
optimize away the first statement.

DES
-- 
Dag-Erling Smørgrav - [EMAIL PROTECTED]
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to