diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-18 00:33:33 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-18 00:33:33 +0000 |
commit | a2e85ada1dfef36201a31f6646bc4ea3bd76a89a (patch) | |
tree | faee25bcdf33fe00c3482b0c5b785d8fd20bfb88 | |
parent | c999f1f9f1f8c08084ef0d4450e9c844dd3c6161 (diff) |
Set ObjCMethodDecl's EndLoc to the '}' when it's a definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76269 91177308-0d34-0410-b5e6-96231b3b80d8
-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()); |