On 5/4/05, James E Wilson <[EMAIL PROTECTED]> wrote: [..] > The optimization does not happen for this example because we apparently > have no way to represent an alias set for a restricted char pointer. > char * and void * are allowed to alias anything. That is alias set 0 > internally. A restricted char pointer can alias anything except another > restricted pointer, which would require making a subset of alias set 0, > but that is invalid. So we give up and just ignore the use of restrict > here. > [..]
Is this correct ? I don't have a version of the C99 standard, but looking at explanations of the 'restrict' keyword, I see in <http://docs.sun.com/source/819-0494/c99.app.html> and in <http://www.devx.com/tips/Tip/13825>, it seems that the definition of a restricted pointer is, that it does not alias with anything else (for the time it is being used), and that all accesses to the object it points to, should go through this restricted pointer only. This would mean that a restricted char pointer should not alias something else. (no other restricted pointers, but also no non-restricted pointers). Does this 'definition' conflict with the standards definition ?? Greetings, -- Jeroen Dobbelaere