[PATCH] clang-format: Detect function-like macros only when upper case is used.
Alexander Kornienko
alexfh at google.com
Tue Mar 18 07:23:37 PDT 2014
Hi djasper,
http://llvm-reviews.chandlerc.com/D3110
Files:
lib/Format/UnwrappedLineParser.cpp
unittests/Format/FormatTest.cpp
Index: lib/Format/UnwrappedLineParser.cpp
===================================================================
--- lib/Format/UnwrappedLineParser.cpp
+++ lib/Format/UnwrappedLineParser.cpp
@@ -726,7 +726,7 @@
if (FormatTok->Tok.is(tok::l_paren)) {
parseParens();
if (FormatTok->NewlinesBefore > 0 &&
- tokenCanStartNewLine(FormatTok->Tok)) {
+ tokenCanStartNewLine(FormatTok->Tok) && Text == Text.upper()) {
addUnwrappedLine();
return;
}
Index: unittests/Format/FormatTest.cpp
===================================================================
--- unittests/Format/FormatTest.cpp
+++ unittests/Format/FormatTest.cpp
@@ -2287,30 +2287,30 @@
" 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 @@
" 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) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3110.1.patch
Type: text/x-patch
Size: 2793 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140318/19ab9bb7/attachment.bin>
More information about the cfe-commits
mailing list