[PATCH] D25439: Fixed column shift when formatting line containing bit shift operators
Paweł Żukowski via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 24 13:08:32 PDT 2016
idlecode updated this revision to Diff 75635.
https://reviews.llvm.org/D25439
Files:
lib/Format/FormatTokenLexer.cpp
unittests/Format/FormatTest.cpp
Index: unittests/Format/FormatTest.cpp
===================================================================
--- unittests/Format/FormatTest.cpp
+++ unittests/Format/FormatTest.cpp
@@ -5501,6 +5501,18 @@
verifyFormat("< < < < < < < < < < < < < < < < < < < < < < < < < < < < < <");
}
+TEST_F(FormatTest, BitshiftOperatorWidth) {
+ EXPECT_EQ("int a = 1 << 2; /* foo\n"
+ " bar */",
+ format("int a=1<<2; /* foo\n"
+ " bar */"));
+
+ EXPECT_EQ("int b = 256 >> 1; /* foo\n"
+ " bar */",
+ format("int b =256>>1 ; /* foo\n"
+ " bar */"));
+}
+
TEST_F(FormatTest, UnderstandsBinaryOperators) {
verifyFormat("COMPARE(a, ==, b);");
verifyFormat("auto s = sizeof...(Ts) - 1;");
Index: lib/Format/FormatTokenLexer.cpp
===================================================================
--- lib/Format/FormatTokenLexer.cpp
+++ lib/Format/FormatTokenLexer.cpp
@@ -525,10 +525,12 @@
} else if (FormatTok->Tok.is(tok::greatergreater)) {
FormatTok->Tok.setKind(tok::greater);
FormatTok->TokenText = FormatTok->TokenText.substr(0, 1);
+ ++Column;
StateStack.push(LexerState::TOKEN_STASHED);
} else if (FormatTok->Tok.is(tok::lessless)) {
FormatTok->Tok.setKind(tok::less);
FormatTok->TokenText = FormatTok->TokenText.substr(0, 1);
+ ++Column;
StateStack.push(LexerState::TOKEN_STASHED);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25439.75635.patch
Type: text/x-patch
Size: 1497 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161024/8406a33d/attachment.bin>
More information about the cfe-commits
mailing list