xref: /llvm-project/clang/test/Sema/Inputs/unused-expr-system-header.h (revision 7a57adab8359c623618d375d8dbb8c473f101b1b)
1*7a57adabSMatt Beaumont-Gay // "System header" for testing that -Wunused-value is properly suppressed in
2*7a57adabSMatt Beaumont-Gay // certain cases.
3*7a57adabSMatt Beaumont-Gay 
4*7a57adabSMatt Beaumont-Gay #define POSSIBLY_BAD_MACRO(x) \
5*7a57adabSMatt Beaumont-Gay   { int i = x; \
6*7a57adabSMatt Beaumont-Gay     i; }
7*7a57adabSMatt Beaumont-Gay 
8*7a57adabSMatt Beaumont-Gay #define STATEMENT_EXPR_MACRO(x) \
9*7a57adabSMatt Beaumont-Gay   (__extension__ \
10*7a57adabSMatt Beaumont-Gay    ({int i = x; \
11*7a57adabSMatt Beaumont-Gay      i;}))
12*7a57adabSMatt Beaumont-Gay 
13*7a57adabSMatt Beaumont-Gay #define COMMA_MACRO_1(x, y) \
14*7a57adabSMatt Beaumont-Gay   {x, y;}
15*7a57adabSMatt Beaumont-Gay 
16*7a57adabSMatt Beaumont-Gay #define COMMA_MACRO_2(x, y) \
17*7a57adabSMatt Beaumont-Gay   if (x) { 1 == 2, y; }
18*7a57adabSMatt Beaumont-Gay 
19*7a57adabSMatt Beaumont-Gay #define COMMA_MACRO_3(x, y) \
20*7a57adabSMatt Beaumont-Gay   (x, y)
21*7a57adabSMatt Beaumont-Gay 
22*7a57adabSMatt Beaumont-Gay #define COMMA_MACRO_4(x, y) \
23*7a57adabSMatt Beaumont-Gay   ( 1 == 2, y )
24