1 #define a() __context__(LOCK, 1)
2 #define r() __context__(LOCK, -1)
3 #define m() __context__(LOCK, 0, 1)
4 #define m2() __context__(LOCK, 0, 2)
6 static void good_ar(void)
12 static void bad_arr(void)
19 static void good_macro1(void)
26 static void good_macro2(void)
36 static void bad_macro1(void)
43 static void bad_macro2(void)
50 static void bad_macro3(void)
57 * check-name: Check __context__ statement with required context
60 context-statement.c:16:8: warning: context imbalance in 'bad_arr': unexpected unlock
61 context-statement.c:16:8: context 'LOCK': wanted 0, got -1
62 context-statement.c:38:5: warning: context imbalance in 'bad_macro1': __context__ statement expected different context
63 context-statement.c:38:5: context 'LOCK': wanted >= 1, got 0
64 context-statement.c:47:5: warning: context imbalance in 'bad_macro2': __context__ statement expected different context
65 context-statement.c:47:5: context 'LOCK': wanted >= 1, got 0
66 context-statement.c:53:5: warning: context imbalance in 'bad_macro3': __context__ statement expected different context
67 context-statement.c:53:5: context 'LOCK': wanted >= 0, got -1