"D. Hugh Redelmeier" <[EMAIL PROTECTED]> writes: | | From: Gabriel Dos Reis <[EMAIL PROTECTED]> | | | After many exchanges via private mails and | | looking at the various reports related to this issue, it has become | | clear to me that the interpretations offered to justify why GCC is | | behaving the way it does seem to go beyond what can be inferred. | | OK. | | Is there a consensus on this?
JSM, please chime in. | If not, how can a consensus be reached? try to explain those who read the standard to you their interpretation does not match the intent and the letter? Sorry :-) More seriously, at this point Daniel Berlin has indicated that he gives "less of a crap about volatile and optimizing volatile than [he does] const, restrict, etc". So that is, I hope, a path to a saner behaviour from the code transformation part of the compiler. | If so, how can we get a fix? | | I think that is urgent. This bug is causing X to misbehave and the | current workarounds might be harmful. Who knows what other | manifestations might be lurking? | | As I said, I'm not a GCC hacker. Who is the likely maintainer to fix | this? Does he or she agree that this needs to be done? Urgently? Joseph S. Myers (jsm at polyomino.org.uk) and Richard Henderson (rth at redhat.com) are the C front-end maintainers. The following is from the last message I received from Joseph (on access through volatile lvalue expression): # Using always the qualification of the lvalue is reasonable semantics to # specify (I don't know about to implement). It's still a matter of making # a choice and documenting and implementing it. The issue is compounded by the fact that the code transformation part (the "optimizer") is maintained by a different set of people and it takes coordination between both worlds to arrive to a useful semantics. At this point we need: (1) agreement from C and C++ maintainers on access through volatile lvalue (2) agreement with the middle-end maintainers not to "optimize" volatile lvalue expressions (3) document the behaviour. The most important for you and X is to have (2) done, i.e. Richard Henderson, Roger Sayle, Daniel Berlin and others. -- Gaby