[PATCH] Clang-format support for removing space before assignment operators

Daniel Jasper djasper at google.com
Fri Sep 13 08:19:23 PDT 2013

The few nits below aside, this looks good to go in. Do you have commit
access or should I commit this for you? In the latter case, you don't need
to worry about the style nits (I'll fix them before committing).

+**SpaceBeforeAssignmentOperators** (``bool``)
+  If ``false``, spaces will be removed before '=', '+=', etc.

Not, that these are actually auto-generated using a python script. It
doesn't hurt like this, but it will be eventually overwritten by what is in
the flags comment.

+               R.SpaceAfterControlStatementKeyword &&
+   SpaceBeforeAssignmentOperators ==
+       R.SpaceBeforeAssignmentOperators;

These seem to be indented with tabs. Use spaces instead.

+  if (!Style.SpaceBeforeAssignmentOperators &&
+  Tok.getPrecedence() == prec::Assignment)
+    return false;

Same as above.

+  FormatStyle Spaces = getLLVMStyle();
+  verifyFormat("int a = 5;", Spaces);

There seem to be unnecessary spaces in the empty line.

On Fri, Sep 13, 2013 at 4:12 PM, Aaron Wishnick
<aaron.s.wishnick at gmail.com>wrote:

> Thanks for the feedback! I've addressed those three issues, and the
> updated patch is attached.
> On Fri, Sep 13, 2013 at 4:12 AM, Daniel Jasper <djasper at google.com> wrote:
>> You should be able to use "Tok.getPrecedence() == prec::Assignment"
>> instead of the new IsTokenAssignment function. Also, please put the tests
>> into "unittests/Format/FormatTest.cpp". We have plans to turn (some of)
>> those into file-based tests, but for now, I'd like to keep
>> formatting-specific tests together. Also, in addition to actually testing
>> whether the style-configuration works as expected, there are also tests
>> there which test whether the option can be successfully parsed from JSON
>> (see how it is done for the other flags close to the bottom).
>> On Fri, Sep 13, 2013 at 12:14 AM, Aaron Wishnick <
>> aaron.s.wishnick at gmail.com> wrote:
>>> My organization's coding standards include not putting a space before
>>> assignment operators, e.g. "int a= 42;". In order for us to be able to use
>>> clang-format, we need support for this.
>>> I've attached a patch that adds a new format style option,
>>> "SpaceBeforeAssignmentOperators." All the existing hard-coded styles now
>>> default to having it set to true. I've also included a test.
>>> Please let me know if this looks good, or if there's anything else I can
>>> do.
>>> Thank you!
>>> Aaron
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130913/d2fb5081/attachment.html>

More information about the cfe-commits mailing list