[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <d14d1a768bfbbef34ee9f981cfd348c6@kernel.crashing.org>
Date: Sat, 18 Aug 2007 00:38:12 +0200
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Satyam Sharma <satyam@...radead.org>
Cc: Christoph Lameter <clameter@....com>, heiko.carstens@...ibm.com,
horms@...ge.net.au, Stefan Richter <stefanr@...6.in-berlin.de>,
Bill Fink <billfink@...dspring.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
netdev@...r.kernel.org, ak@...e.de, cfriesen@...tel.com,
rpjday@...dspring.com, jesper.juhl@...il.com,
linux-arch@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>, zlynx@....org,
schwidefsky@...ibm.com, Chris Snook <csnook@...hat.com>,
Herbert Xu <herbert@...dor.apana.org.au>, davem@...emloft.net,
Linus Torvalds <torvalds@...ux-foundation.org>,
wensong@...ux-vs.org, wjiang@...ilience.com
Subject: Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
>>> Here, I should obviously admit that the semantics of *(volatile int
>>> *)&
>>> aren't any neater or well-defined in the _language standard_ at all.
>>> The
>>> standard does say (verbatim) "precisely what constitutes as access to
>>> object of volatile-qualified type is implementation-defined", but GCC
>>> does help us out here by doing the right thing.
>>
>> Where do you get that idea?
>
> Try a testcase (experimentally verify).
That doesn't prove anything. Experiments can only disprove
things.
>> GCC manual, section 6.1, "When
>> is a Volatile Object Accessed?" doesn't say anything of the
>> kind.
>
> True, "implementation-defined" as per the C standard _is_ supposed to
> mean
> "unspecified behaviour where each implementation documents how the
> choice
> is made". So ok, probably GCC isn't "documenting" this
> implementation-defined behaviour which it is supposed to, but can't
> really
> fault them much for this, probably.
GCC _is_ documenting this, namely in this section 6.1. It doesn't
mention volatile-casted stuff. Draw your own conclusions.
Segher
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists