This is the mail archive of the gcc-patches@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: [gimple] assignments to volatile


On 06/30/10 21:56, Mike Stump wrote:

Below is my take on what we should do.

vobj;

read.


vobj = data;

no re-read


expr, vobj = data;

no re-read.

Ok, I think everyone's agreed about that.


Do you have a reference to the C standard that clarifies the difference? Wrt the std, all those expression-statements have values - the first is an lvalue, the other 2 are rvalues.

Another example I missed is:
  expr, vobj;

I think that should read vobj. But AFAICT 'expr, vobj = data;' and 'expr, vobj;' are identically rvalued according to the C std. Is there anything in the std that justifies them behaving differently?

nathan

--
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery


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