diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -649,7 +649,6 @@ nextToken(); Line->Level = InitialLevel; - FormatTok->setBlockKind(BK_Block); if (PPStartHash == PPEndHash) { Line->MatchingOpeningBlockLineIndex = OpeningLineIndex; diff --git a/clang/unittests/Format/FormatTestObjC.cpp b/clang/unittests/Format/FormatTestObjC.cpp --- a/clang/unittests/Format/FormatTestObjC.cpp +++ b/clang/unittests/Format/FormatTestObjC.cpp @@ -977,6 +977,19 @@ " performSelectorOnMainThread:@selector(loadAccessories)\n" " withObject:nil\n" " waitUntilDone:false];"); + + // The appropriate indentation is used after a block statement. + Style.ContinuationIndentWidth = 4; + verifyFormat( + "void aaaaaaaaaaaaaaaaaaaaa(int c) {\n" + " if (c) {\n" + " f();\n" + " }\n" + " [dddddddddddddddddddddddddddddddddddddddddddddddddddddddd\n" + " eeeeeeeeeeeeeeeeeeeeeeeeeeeee:^(fffffffffffffff gggggggg) {\n" + " f(SSSSS, c);\n" + " }];\n" + "}"); } TEST_F(FormatTestObjC, ObjCAt) {