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