On Fri, Jan 28, 2005, Dag-Erling Smrgrav wrote: > [EMAIL PROTECTED] (Dag-Erling Smørgrav) writes: > > David Schultz <[EMAIL PROTECTED]> writes: > > > 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. > > I should add: unless it can determine with absolute certainty that x > is not referenced later.
Exactly. Notice that this is indeed the case for Jaques' example. I oversimplified a bit because, as I mentioned, this is a digression from the main point about writing to the code segment. There's no need to be curt. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"