On the redundancy of C99's restrict Pascal Cuoq - 25th Jul 2012 The restrict keyword in C99 C99 introduced a restrict keyword. The intention is to let the programmer specify the absence of alias between some inputs of a function ey is writing. Consider the function: int f1(int * restrict p int * restrict q) { *p = 1; *q = 2; return *p + *q; } Thanks to the restrict keyword GCC can compile function