summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp4
-rw-r--r--clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp2
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
OpenPOWER on IntegriCloud