]> granicus.if.org Git - clang/commitdiff
clang-format: Fix incorrect calculation of token lenghts.
authorDaniel Jasper <djasper@google.com>
Wed, 17 Dec 2014 09:11:08 +0000 (09:11 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 17 Dec 2014 09:11:08 +0000 (09:11 +0000)
This led, e.g. to break JavaScript regex literals too early.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224419 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/Format.cpp
unittests/Format/FormatTestJS.cpp

index ca0cce408537bac13230bd0323be6d4dcaa7b5a4..81c9e130d5a6f83082df580415bf37e2af3742b0 100644 (file)
@@ -889,7 +889,6 @@ private:
           Column += Style.TabWidth - Column % Style.TabWidth;
           break;
         case '\\':
-          ++Column;
           if (i + 1 == e || (FormatTok->TokenText[i + 1] != '\r' &&
                              FormatTok->TokenText[i + 1] != '\n'))
             FormatTok->Type = TT_ImplicitStringLiteral;
index 1d12d32044a6a1e84203ec5e1b83f0b4aacb6b4b..780b02f746e961e97afbb3f37df0da9b451db5fe 100644 (file)
@@ -482,6 +482,8 @@ TEST_F(FormatTestJS, RegexLiteralLength) {
   verifyFormat("var regex =\n"
                "    /aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/;",
                getGoogleJSStyleWithColumns(60));
+  verifyFormat("var regex = /\\xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/;",
+               getGoogleJSStyleWithColumns(50));
 }
 
 TEST_F(FormatTestJS, RegexLiteralExamples) {