diff --git a/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp index f617694516e7..e1955dec4826 100644 --- a/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/MacroParenthesesCheck.cpp @@ -148,7 +148,8 @@ void MacroParenthesesPPCallbacks::argument(const Token &MacroNameTok, continue; // Argument is a struct member. - if (Prev.isOneOf(tok::period, tok::arrow, tok::coloncolon)) + if (Prev.isOneOf(tok::period, tok::arrow, tok::coloncolon, tok::arrowstar, + tok::periodstar)) continue; // Argument is a namespace or class. 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 123841a328ed..8f23a0991daa 100644 --- a/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp +++ b/clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp @@ -34,6 +34,8 @@ #define GOOD23(type) (type::Field) #define GOOD24(t) std::set s #define GOOD25(t) std::set s +#define GOOD26(x) (a->*x) +#define GOOD27(x) (a.*x) // These are allowed for now.. #define MAYBE1 *12.34