diff options
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 6 | ||||
| -rw-r--r-- | clang/lib/Format/UnwrappedLineParser.cpp | 5 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 1 | 
3 files changed, 5 insertions, 7 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 7e3ef75d3dc..25670d4f688 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -313,11 +313,7 @@ private:      switch (Tok->FormatTok.Tok.getKind()) {      case tok::plus:      case tok::minus: -      // At the start of the line, +/- specify ObjectiveC method declarations. -      if (Tok->Children.empty() || Tok->Children[0].Children.empty()) -        break; // Can't be an ObjectiveC method declaration. -      if (Tok->Parent == NULL && (Tok->Children[0].is(tok::l_paren) || -                                  Tok->Children[0].Children[0].is(tok::colon))) +      if (Tok->Parent == NULL && Line.MustBeDeclaration)          Tok->Type = TT_ObjCMethodSpecifier;        break;      case tok::colon: diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index a01344c03e6..8408ce3a0d8 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -144,8 +144,9 @@ bool UnwrappedLineParser::parse() {  }  bool UnwrappedLineParser::parseFile() { -  ScopedDeclarationState DeclarationState(*Line, DeclarationScopeStack, -                                          /*MustBeDeclaration=*/ true); +  ScopedDeclarationState DeclarationState( +      *Line, DeclarationScopeStack, +      /*MustBeDeclaration=*/ !Line->InPPDirective);    bool Error = parseLevel(/*HasOpeningBrace=*/ false);    // Make sure to format the remaining tokens.    flushComments(true); diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 08403027542..5988a905965 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -2815,6 +2815,7 @@ TEST_F(FormatTest, FormatForObjectiveCMethodDecls) {    // If there's no return type (very rare in practice!), LLVM and Google style    // agree. +  verifyFormat("- foo;");    verifyFormat("- foo:(int)f;");    verifyGoogleFormat("- foo:(int)foo;");  }  | 

