1 static int bad_scope(void) 2 { 3 int r = 0; 4 5 for (int i = 0; i < 10; i++) { 6 r = i; 7 } 8 9 return i; /* check-should-fail */ 10 } 11 12 static int c99(void) 13 { 14 int r = 0; 15 16 for ( int i = 0; i < 10; i++) /* check-should-pass */ 17 r = i; 18 for ( auto int j = 0; j < 10; j++) /* check-should-pass */ 19 r = j; 20 for (register int k = 0; k < 10; k++) /* check-should-pass */ 21 r = k; 22 for ( extern int l = 0; l < 10; l++) /* check-should-fail */ 23 r = l; 24 for ( extern int m; m < 10; m++) /* check-should-fail */ 25 r = m; 26 for ( static int n = 0; n < 10; n++) /* check-should-fail */ 27 r = n; 28 return r; 29 } 30 31 /* 32 * check-name: C99 for-loop declarations 33 * 34 * check-error-start 35 c99-for-loop-decl.c:22:27: error: non-local var 'l' in for-loop initializer 36 c99-for-loop-decl.c:24:27: error: non-local var 'm' in for-loop initializer 37 c99-for-loop-decl.c:26:27: error: non-local var 'n' in for-loop initializer 38 c99-for-loop-decl.c:9:16: error: undefined identifier 'i' 39 * check-error-end 40 */ 41