| // RUN: %check_clang_tidy %s bugprone-multiple-statement-macro %t |
| #define GOOD_MACRO2(x) F() |
| #define GOOD_MACRO3(x) F(); |
| #define MACRO_ARG_MACRO(X) \ |
| #define ALL_IN_MACRO(X) \ |
| // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: multiple statement macro used without braces; some statements will be unconditionally executed [bugprone-multiple-statement-macro] |
| // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: multiple statement macro used |
| // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: multiple statement macro used |
| // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: multiple statement macro used |
| MACRO_ARG_MACRO(BAD_MACRO); |
| // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: multiple statement macro used |
| MACRO_ARG_MACRO(F(); int); |
| // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: multiple statement macro used |
| // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: multiple statement macro used |
| MACRO_ARG_MACRO(GOOD_MACRO); |