On Sun, 2 Sep 2007, Mark Mitchell wrote:

> Daniel Berlin wrote:
> 
> > Again, I'd love to just ignore this and say "we don't care".
> 
> Ugh.  I think you're right that the standard says that we only get to
> assume non-aliasing when the pointed-to memory is modified, so
> all-parameters-restrict is actually weaker than -fargument-noalias.  How
> unfortunate.
> 
> I've CC'd Joseph in the hopes that his C standards knowledge will
> suggest a different answer.

The rules that unmodified memory may alias were a deliberate change in the 
FDIS relative to the previous public draft; see 
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n866.htm>:

 24  1.  The FCD specification of restrict forbids aliasing of
 25      unmodified objects.  Doing so does not promote optimization,
 26      and has other disadvantages, which are discussed in examples
 27      A-E below.  It is also contrary to the prior art in Fortran.

-- 
Joseph S. Myers
[EMAIL PROTECTED]

Reply via email to