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