1 static void foo(int x) 2 { 3 __context__(0); // OK 4 __context__(x, 0); // OK 5 __context__ (x, 1); // OK 6 7 __context__(x); // KO: no const expr 8 __context__(1,x); // KO: no const expr 9 10 __context__; // KO: no expression at all 11 __context__(; // KO: no expression at all 12 13 __context__ 0; // KO: need parens 14 __context__ x, 0; // KO: need parens 15 __context__(x, 0; // KO: unmatched parens 16 __context__ x, 0); // KO: unmatched parens 17 __context__(0; // KO: unmatched parens 18 __context__ 0); // KO: unmatched parens 19 20 __context__(); // KO: no expression at all 21 __context__(,0); // KO: no expression at all 22 __context__(x,); // KO: no expression at all 23 __context__(,); // KO: no expression at all 24 } 25 26 /* 27 * check-name: context-stmt 28 * check-command: sparse -Wno-context $file 29 * 30 * check-error-start 31 context-stmt.c:10:20: error: Expected ( after __context__ statement 32 context-stmt.c:10:20: error: got ; 33 context-stmt.c:11:21: error: expression expected after '(' 34 context-stmt.c:11:21: error: got ; 35 context-stmt.c:11:21: error: Expected ) at end of __context__ statement 36 context-stmt.c:11:21: error: got ; 37 context-stmt.c:13:21: error: Expected ( after __context__ statement 38 context-stmt.c:13:21: error: got 0 39 context-stmt.c:14:21: error: Expected ( after __context__ statement 40 context-stmt.c:14:21: error: got x 41 context-stmt.c:15:25: error: Expected ) at end of __context__ statement 42 context-stmt.c:15:25: error: got ; 43 context-stmt.c:16:21: error: Expected ( after __context__ statement 44 context-stmt.c:16:21: error: got x 45 context-stmt.c:17:22: error: Expected ) at end of __context__ statement 46 context-stmt.c:17:22: error: got ; 47 context-stmt.c:18:21: error: Expected ( after __context__ statement 48 context-stmt.c:18:21: error: got 0 49 context-stmt.c:20:21: error: expression expected after '(' 50 context-stmt.c:20:21: error: got ) 51 context-stmt.c:21:21: error: expression expected after '(' 52 context-stmt.c:21:21: error: got , 53 context-stmt.c:22:23: error: expression expected after ',' 54 context-stmt.c:22:23: error: got ) 55 context-stmt.c:23:21: error: expression expected after '(' 56 context-stmt.c:23:21: error: got , 57 context-stmt.c:23:22: error: expression expected after ',' 58 context-stmt.c:23:22: error: got ) 59 context-stmt.c:7:21: error: bad constant expression 60 context-stmt.c:8:23: error: bad constant expression 61 * check-error-end 62 */ 63