Author: vedantk Date: Tue May 17 12:26:02 2016 New Revision: 269786 URL: http://llvm.org/viewvc/llvm-project?rev=269786&view=rev Log: [clang-tidy] Skip misc-macro-parentheses for namespaces (Fix PR27400)
If a use of a macro argument is preceded by the `namespace` keyword, do not warn that the use should be wrapped in parentheses. Patch by Mads Ravn! Modified: clang-tools-extra/trunk/clang-tidy/misc/MacroParenthesesCheck.cpp clang-tools-extra/trunk/test/clang-tidy/misc-macro-parentheses.cpp Modified: clang-tools-extra/trunk/clang-tidy/misc/MacroParenthesesCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/MacroParenthesesCheck.cpp?rev=269786&r1=269785&r2=269786&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/misc/MacroParenthesesCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/misc/MacroParenthesesCheck.cpp Tue May 17 12:26:02 2016 @@ -184,6 +184,10 @@ void MacroParenthesesPPCallbacks::argume Next.isOneOf(tok::comma, tok::greater)) continue; + // Namespaces. + if (Prev.is(tok::kw_namespace)) + continue; + Check->diag(Tok.getLocation(), "macro argument should be enclosed in " "parentheses") << FixItHint::CreateInsertion(Tok.getLocation(), "(") Modified: clang-tools-extra/trunk/test/clang-tidy/misc-macro-parentheses.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-macro-parentheses.cpp?rev=269786&r1=269785&r2=269786&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clang-tidy/misc-macro-parentheses.cpp (original) +++ clang-tools-extra/trunk/test/clang-tidy/misc-macro-parentheses.cpp Tue May 17 12:26:02 2016 @@ -36,6 +36,7 @@ #define GOOD25(t) std::set<t,t,t> s #define GOOD26(x) (a->*x) #define GOOD27(x) (a.*x) +#define GOOD28(x) namespace x {int b;} // These are allowed for now.. #define MAYBE1 *12.34 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits