[PATCH] clang-format: SpaceBeforeParens (Always) with overloaded operators
Jon Chesterfield via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 11 04:37:56 PDT 2015
Hi,
I believe this is being sent to the correct list. Please let me know if
there is a better choice.
The clang-format option SpaceBeforeParens "Always" does not insert a space
before the opening parenthesis of an overloaded operator function. The
attached patch against trunk resolves this.
Kind regards,
Jon Chesterfield
SN Systems - Sony Computer Entertainment Group.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150811/74eb2316/attachment-0001.html>
-------------- next part --------------
Index: lib/Format/TokenAnnotator.cpp
===================================================================
--- lib/Format/TokenAnnotator.cpp (revision 244436)
+++ lib/Format/TokenAnnotator.cpp (working copy)
@@ -1997,7 +1997,7 @@
if (Right.isOneOf(TT_CtorInitializerColon, TT_ObjCBlockLParen))
return true;
if (Right.is(TT_OverloadedOperatorLParen))
- return false;
+ return Style.SpaceBeforeParens == FormatStyle::SBPO_Always;
if (Right.is(tok::colon)) {
if (Line.First->isOneOf(tok::kw_case, tok::kw_default) ||
!Right.getNextNonComment() || Right.getNextNonComment()->is(tok::semi))
Index: unittests/Format/FormatTest.cpp
===================================================================
--- unittests/Format/FormatTest.cpp (revision 244436)
+++ unittests/Format/FormatTest.cpp (working copy)
@@ -8276,6 +8276,8 @@
verifyFormat("static_assert(sizeof(char) == 1, \"Impossible!\");", NoSpace);
verifyFormat("int f() throw(Deprecated);", NoSpace);
verifyFormat("typedef void (*cb)(int);", NoSpace);
+ verifyFormat("T A::operator()();",NoSpace);
+ verifyFormat("X A::operator++(T);",NoSpace);
FormatStyle Space = getLLVMStyle();
Space.SpaceBeforeParens = FormatStyle::SBPO_Always;
@@ -8321,6 +8323,8 @@
verifyFormat("static_assert (sizeof (char) == 1, \"Impossible!\");", Space);
verifyFormat("int f () throw (Deprecated);", Space);
verifyFormat("typedef void (*cb) (int);", Space);
+ verifyFormat("T A::operator() ();",Space);
+ verifyFormat("X A::operator++ (T);",Space);
}
TEST_F(FormatTest, ConfigurableSpacesInParentheses) {
More information about the cfe-commits
mailing list