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.
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) {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits