diff options
-rw-r--r-- | include/clang/AST/DeclObjC.h | 2 | ||||
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h index ded2fc9772..1411c37cad 100644 --- a/include/clang/AST/DeclObjC.h +++ b/include/clang/AST/DeclObjC.h @@ -125,7 +125,7 @@ private: ObjCList<ParmVarDecl> ParamInfo; /// List of attributes for this method declaration. - SourceLocation EndLoc; // the location of the ';' or '{'. + SourceLocation EndLoc; // the location of the ';' or '}'. // The following are only used for method definitions, null otherwise. // FIXME: space savings opportunity, consider a sub-class. diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 92afc343f3..bc497aa142 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -3208,6 +3208,7 @@ Sema::DeclPtrTy Sema::ActOnFinishFunctionBody(DeclPtrTy D, StmtArg BodyArg, } else if (ObjCMethodDecl *MD = dyn_cast_or_null<ObjCMethodDecl>(dcl)) { assert(MD == getCurMethodDecl() && "Method parsing confused"); MD->setBody(Body); + MD->setEndLoc(Body->getLocEnd()); if (!MD->isInvalidDecl()) DiagnoseUnusedParameters(MD->param_begin(), MD->param_end()); |