diff options
-rw-r--r-- | Sema/SemaDecl.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index b0c86f5c50..c3b6a8c4d2 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -1016,13 +1016,11 @@ Sema::DeclTy *Sema::ActOnFinishFunctionBody(DeclTy *D, StmtTy *Body) { if (FunctionDecl *FD = dyn_cast<FunctionDecl>(dcl)) { FD->setBody((Stmt*)Body); assert(FD == CurFunctionDecl && "Function parsing confused"); + CurFunctionDecl = 0; } else if (ObjcMethodDecl *MD = dyn_cast<ObjcMethodDecl>(dcl)) { MD->setBody((Stmt*)Body); CurMethodDecl = 0; - } - // This is unconditional, since methods have a corresponding function decl. - CurFunctionDecl = 0; - + } // Verify and clean out per-function state. // Check goto/label use. |