Sure, I completely agree. At the moment the docs say "asm volatile
guarantees nothing", and we can work with that. So long as we don't
expect asm volatile to mean anything more (ie, magic semantics involving
reordering), everyone is happy.
BTW, gcc 2.95's docs do mention "asm volatile" having an effect on
ordering, which is probably where the notion came from: "If you write an
`asm' instruction with no outputs, GNU CC [...] not delete the
instruction or move it outside of loops. [...] you should write the
`volatile' keyword to prevent future versions of GNU CC from moving the
instruction around within a core region". Lucky we never relied on
that, right? Right?
J
--