[PATCH] When in pre-c++11 mode, treat _T("xxx") as a single string literal, repeat the _T() part around each fragment. This addresses http://llvm.org/PR17122

Alexander Kornienko alexfh at google.com
Fri Sep 13 07:01:11 PDT 2013



================
Comment at: lib/Format/ContinuationIndenter.cpp:679
@@ +678,3 @@
+    if ((Text.startswith(Prefix = "_T(\"") && Text.endswith(Postfix = "\")")) ||
+        (Text.endswith(Postfix = "\"") && (Text.startswith(Prefix = "\"") ||
+                                          Text.startswith(Prefix = "u\"") ||
----------------
Daniel Jasper wrote:
> Alexander Kornienko wrote:
> > Daniel Jasper wrote:
> > > Who came up with this format?
> > > 
> > > Also these seem like a lot of string comparisons (albeit short strings). Would it make sense to precalculate this to get it out of the critical path?
> > Clang-format produced this format before I added parens around the second operand of ||.
> > 
> > Fixed.
> Any thoughts to the second part of this comment?
Sorry, missed this part.

We could store Prefix and Suffix (or PrefixLength and SuffixLength to reduce the overhead) for each FormatToken, which is a string. I'll prepare the patch for this.


http://llvm-reviews.chandlerc.com/D1640



More information about the cfe-commits mailing list