r204156 - clang-format: Detect function-like macros only when upper case is used.
Alexander Kornienko
alexfh at google.com
Tue Mar 18 07:35:20 PDT 2014
Author: alexfh
Date: Tue Mar 18 09:35:20 2014
New Revision: 204156
URL: http://llvm.org/viewvc/llvm-project?rev=204156&view=rev
Log:
clang-format: Detect function-like macros only when upper case is used.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3110
Modified:
cfe/trunk/lib/Format/UnwrappedLineParser.cpp
cfe/trunk/unittests/Format/FormatTest.cpp
Modified: cfe/trunk/lib/Format/UnwrappedLineParser.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/UnwrappedLineParser.cpp?rev=204156&r1=204155&r2=204156&view=diff
==============================================================================
--- cfe/trunk/lib/Format/UnwrappedLineParser.cpp (original)
+++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp Tue Mar 18 09:35:20 2014
@@ -726,7 +726,7 @@ void UnwrappedLineParser::parseStructura
if (FormatTok->Tok.is(tok::l_paren)) {
parseParens();
if (FormatTok->NewlinesBefore > 0 &&
- tokenCanStartNewLine(FormatTok->Tok)) {
+ tokenCanStartNewLine(FormatTok->Tok) && Text == Text.upper()) {
addUnwrappedLine();
return;
}
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=204156&r1=204155&r2=204156&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Tue Mar 18 09:35:20 2014
@@ -2287,30 +2287,30 @@ TEST_F(FormatTest, MacroCallsWithoutTrai
" ifstream(x)\n >> x;\n"
"}\n"));
EXPECT_EQ("int q() {\n"
- " f(x)\n"
+ " F(x)\n"
" if (1) {\n"
" }\n"
- " f(x)\n"
+ " F(x)\n"
" while (1) {\n"
" }\n"
- " f(x)\n"
- " g(x);\n"
- " f(x)\n"
+ " F(x)\n"
+ " G(x);\n"
+ " F(x)\n"
" try {\n"
- " q();\n"
+ " Q();\n"
" }\n"
" catch (...) {\n"
" }\n"
"}\n",
format("int q() {\n"
- "f(x)\n"
+ "F(x)\n"
"if (1) {}\n"
- "f(x)\n"
+ "F(x)\n"
"while (1) {}\n"
- "f(x)\n"
- "g(x);\n"
- "f(x)\n"
- "try { q(); } catch (...) {}\n"
+ "F(x)\n"
+ "G(x);\n"
+ "F(x)\n"
+ "try { Q(); } catch (...) {}\n"
"}\n"));
EXPECT_EQ("class A {\n"
" A() : t(0) {}\n"
@@ -2325,6 +2325,27 @@ TEST_F(FormatTest, MacroCallsWithoutTrai
" A(X x)\n"
" try : t(0) {} catch (...) {}\n"
"};"));
+ EXPECT_EQ(
+ "class SomeClass {\n"
+ "public:\n"
+ " SomeClass() EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
+ "};",
+ format("class SomeClass {\n"
+ "public:\n"
+ " SomeClass()\n"
+ " EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
+ "};"));
+ EXPECT_EQ(
+ "class SomeClass {\n"
+ "public:\n"
+ " SomeClass()\n"
+ " EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
+ "};",
+ format("class SomeClass {\n"
+ "public:\n"
+ " SomeClass()\n"
+ " EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
+ "};", getLLVMStyleWithColumns(40)));
}
TEST_F(FormatTest, LayoutMacroDefinitionsStatementsSpanningBlocks) {
More information about the cfe-commits
mailing list