1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
/* The restrict keyword can only qualify pointers to objects */
#ifdef TEST1_C99
restrict a; /* ERROR */
#endif
#ifdef TEST2_C99
restrict int a; /* ERROR */
#endif
#ifdef TEST3_C99
restrict int a[10]; /* ERROR */
#endif
#ifdef TEST4_C99
restrict int * a; /* ERROR */
#endif
#ifdef TEST5_C99
restrict struct
{
int a;
int b;
} x; /* ERROR */
#endif
#ifdef TEST6_C99
restrict int func(void) { /* ERROR */
return 0;
}
#endif
#ifdef TEST7_C99
void func(restrict int x) { /* ERROR */
x; /* IGNORE */
}
#endif
#ifdef TEST8_C99
void func(void (*restrict p)(void)) { /* ERROR */
p(); /* IGNORE */
}
#endif
#ifdef TEST_GOOD1_C99
int * restrict a;
#endif
#ifdef TEST_GOOD2_C99
int * func(int * restrict x)
{
return x;
}
#endif
#ifdef TEST_GOOD3_C99
void func(int * restrict x)
{
x; /* IGNORE */
}
#endif
|