diff options
author | Krasimir Georgiev <krasimir@google.com> | 2017-03-02 09:54:44 +0000 |
---|---|---|
committer | Krasimir Georgiev <krasimir@google.com> | 2017-03-02 09:54:44 +0000 |
commit | 9163fe2aba8a146b7d5dc5b8e256a7fb10687245 (patch) | |
tree | fdd6f7ad78d4bc967793e64ac9f67b68fe39fcdb /clang/unittests/Format/FormatTest.cpp | |
parent | fb0dc6206e4f76c33d8d489351d7d11151a8eed4 (diff) | |
download | bcm5719-llvm-9163fe2aba8a146b7d5dc5b8e256a7fb10687245.tar.gz bcm5719-llvm-9163fe2aba8a146b7d5dc5b8e256a7fb10687245.zip |
[clang-format] Use number of unwrapped lines for short namespace
Summary:
This patch makes the namespace comment fixer use the number of unwrapped lines
that a namespace spans to detect it that namespace is short, thus not needing
end comments to be added.
This is needed to ensure clang-format is idempotent. Previously, a short namespace
was detected by the original source code lines. This has the effect of requiring two
runs for this example:
```
namespace { class A; }
```
after first run:
```
namespace {
class A;
}
```
after second run:
```
namespace {
class A;
} // namespace
```
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D30528
llvm-svn: 296736
Diffstat (limited to 'clang/unittests/Format/FormatTest.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 30cc7496246..7ab0c752d12 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -185,7 +185,7 @@ TEST_F(FormatTest, RemovesEmptyLines) { EXPECT_EQ("namespace N {\n" "\n" "int i;\n" - "} // namespace N", + "}", format("namespace N {\n" "\n" "int i;\n" @@ -281,8 +281,7 @@ TEST_F(FormatTest, RemovesEmptyLines) { "}", LLVMWithNoNamespaceFix)); EXPECT_EQ("namespace {\n" "int i;\n" - "\n" - "} // namespace", + "}", format("namespace {\n" "int i;\n" "\n" @@ -5460,7 +5459,7 @@ TEST_F(FormatTest, IncorrectCodeMissingSemicolon) { EXPECT_EQ("namespace N {\n" "void f() {}\n" "void g()\n" - "}", + "} // namespace N", format("namespace N { void f( ) { } void g( ) }")); } @@ -6140,8 +6139,8 @@ TEST_F(FormatTest, FormatStarDependingOnContext) { " void f() {}\n" " int *a;\n" "};\n" - "}\n" - "}"); + "} // namespace b\n" + "} // namespace a"); } TEST_F(FormatTest, SpecialTokensAtEndOfLine) { @@ -7934,7 +7933,7 @@ TEST_F(FormatTest, StroustrupBraceBreaking) { "struct B {\n" " int x;\n" "};\n" - "}\n", + "} // namespace a\n", StroustrupBraceStyle); verifyFormat("void foo()\n" |