r174514 - Much semicolon after namespaces.
Manuel Klimek
klimek at google.com
Wed Feb 6 08:08:09 PST 2013
Author: klimek
Date: Wed Feb 6 10:08:09 2013
New Revision: 174514
URL: http://llvm.org/viewvc/llvm-project?rev=174514&view=rev
Log:
Much semicolon after namespaces.
We now leave the semicolon in the line of the closing brace in:
namespace {
...
};
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=174514&r1=174513&r2=174514&view=diff
==============================================================================
--- cfe/trunk/lib/Format/UnwrappedLineParser.cpp (original)
+++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp Wed Feb 6 10:08:09 2013
@@ -505,6 +505,10 @@ void UnwrappedLineParser::parseNamespace
nextToken();
if (FormatTok.Tok.is(tok::l_brace)) {
parseBlock(/*MustBeDeclaration=*/ true, 0);
+ // Munch the semicolon after a namespace. This is more common than one would
+ // think. Puttin the semicolon into its own line is very ugly.
+ if (FormatTok.Tok.is(tok::semi))
+ nextToken();
addUnwrappedLine();
}
// FIXME: Add error handling.
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=174514&r1=174513&r2=174514&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Wed Feb 6 10:08:09 2013
@@ -617,6 +617,15 @@ TEST_F(FormatTest, FormatsNamespaces) {
verifyFormat("using namespace some_namespace;\n"
"class A {\n};\n"
"void f() { f(); }");
+
+ // This code is more common than we thought; if we
+ // layout this correctly the semicolon will go into
+ // its own line, which is undesireable.
+ verifyFormat("namespace {\n};");
+ verifyFormat("namespace {\n"
+ "class A {\n"
+ "};\n"
+ "};");
}
TEST_F(FormatTest, FormatsExternC) {
More information about the cfe-commits
mailing list