diff options
-rw-r--r-- | clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp | 4 | ||||
-rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp index 590bc4d8138..1cd6bbf6e66 100644 --- a/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp @@ -188,6 +188,10 @@ void MacroParenthesesPPCallbacks::argument(const Token &MacroNameTok, if (Prev.is(tok::kw_namespace)) continue; + // Variadic templates + if (MI->isVariadic()) + continue; + Check->diag(Tok.getLocation(), "macro argument should be enclosed in " "parentheses") << FixItHint::CreateInsertion(Tok.getLocation(), "(") diff --git a/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp b/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp index de83a827bfd..b74daefa436 100644 --- a/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp +++ b/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp @@ -37,6 +37,8 @@ #define GOOD26(x) (a->*x) #define GOOD27(x) (a.*x) #define GOOD28(x) namespace x {int b;} +#define GOOD29(...) std::cout << __VA_ARGS__; +#define GOOD30(args...) std::cout << args; // These are allowed for now.. #define MAYBE1 *12.34 |