[PATCH] D18793: fix for 19986, extra spacing around c++14 lambda capture with initializer

Jacek Sieka via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 7 05:00:57 PDT 2016

arnetheduck planned changes to this revision.
arnetheduck added a comment.

Thanks for the comments - I'll see when I have time to get back to this as the current patch happens to take care of my (rather limited) use case..

Comment at: lib/Format/UnwrappedLineParser.cpp:1086
@@ +1085,3 @@
+      int parens = 0;
+      while (!eof()) {
+        if (FormatTok->isOneOf(tok::l_paren, tok::l_square)) {
djasper wrote:
> We need to be much more error resilient here as people will frequently call clang-format with mismatched parentheses and such. I am actually quite skeptical about having yet another instance of parentheses counting. Maybe just call parseParens() instead?
makes sense.

Comment at: lib/Format/UnwrappedLineParser.cpp:1094
@@ +1093,3 @@
+        } else if (!FormatTok->isOneOf(tok::identifier, tok::coloncolon)) {
+          return false;
+        }
djasper wrote:
> This seems wrong. Even in the case of the bug you say you are fixing, the "23" is neither an identifier nor a coloncolon..
Ah, right... I've run it against our code base at work where it happened to be enough.. , but since full expressions can be used nowadays, I guess it's a lot more than just these to that *can* appear.


More information about the cfe-commits mailing list