Paul Eggert wrote:
> if GCC generated warnings for that sort of thing, the warnings would be false
> alarms.
Yes, and this in turn means that the ability to produce useful warnings via
'restrict' is limited. In this example:
===================================================================
#include <string.h>
extern void memmcpy (void *restrict, const void *restrict, size_t);
void shuffle (char array[10])
{
memmcpy (array + 2, array, 8);
memcpy (array + 2, array, 8);
}
===================================================================
gcc gives no warning about 'memmcpy' - because it does not know
how many elements the function will access. gcc does give a warning
about 'memcpy' - apparently due to custom logic in the compiler.
Bruno