Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -815,6 +815,10 @@ auto Length = LastToken->TotalLength; if (OpeningBrace) { assert(OpeningBrace != Tokens.front().Tok); + if (auto Prev = OpeningBrace->Previous; + Prev && Prev->TotalLength + ColumnLimit == OpeningBrace->TotalLength) { + Length -= ColumnLimit; + } Length -= OpeningBrace->TokenText.size() + 1; } Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -25815,6 +25815,14 @@ "}", Style); + verifyFormat("if (a) // comment\n" + " b = 1;", + "if (a) // comment\n" + "{\n" + " b = 1;\n" + "}", + Style); + verifyFormat("if (a) {\n" "Label:\n" "}",