clang-format: Fix import statements with ColumnLimit: 0

These used to interact badly with AlwaysBreakBeforeMultilineStrings.

llvm-svn: 207955
This commit is contained in:
Daniel Jasper 2014-05-05 08:08:07 +00:00
parent 3089608172
commit 9509f18836
2 changed files with 6 additions and 1 deletions

View File

@ -1012,7 +1012,7 @@ unsigned ContinuationIndenter::getColumnLimit(const LineState &State) const {
bool ContinuationIndenter::nextIsMultilineString(const LineState &State) {
const FormatToken &Current = *State.NextToken;
if (!Current.isStringLiteral())
if (!Current.isStringLiteral() || Current.Type == TT_ImplicitStringLiteral)
return false;
// We never consider raw string literals "multiline" for the purpose of
// AlwaysBreakBeforeMultilineStrings implementation as they are special-cased

View File

@ -4928,6 +4928,11 @@ TEST_F(FormatTest, HandlesIncludeDirectives) {
// Protocol buffer definition or missing "#".
verifyFormat("import \"aaaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaa\";",
getLLVMStyleWithColumns(30));
FormatStyle Style = getLLVMStyle();
Style.AlwaysBreakBeforeMultilineStrings = true;
Style.ColumnLimit = 0;
verifyFormat("#import \"abc.h\"", Style);
}
//===----------------------------------------------------------------------===//