aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Parse/ParseObjc.cpp1
-rw-r--r--lib/Sema/SemaDecl.cpp10
2 files changed, 2 insertions, 9 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp
index e837c765bf..ef65204e8c 100644
--- a/lib/Parse/ParseObjc.cpp
+++ b/lib/Parse/ParseObjc.cpp
@@ -1481,6 +1481,7 @@ Parser::OwningStmtResult Parser::ParseObjCTryStmt(SourceLocation atLoc) {
// Inform the actions module about the parameter declarator, so it
// gets added to the current scope.
+ // FIXME. Probably can build a VarDecl and avoid setting DeclContext.
FirstPart = Actions.ActOnParamDeclarator(CurScope, ParmDecl);
Actions.ActOnObjCCatchParam(FirstPart);
} else
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 8c217f8e0d..d203376f91 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -3936,15 +3936,7 @@ Sema::ActOnParamDeclarator(Scope *S, Declarator &D) {
void Sema::ActOnObjCCatchParam(DeclPtrTy D) {
ParmVarDecl *Param = cast<ParmVarDecl>(D.getAs<Decl>());
-
- if (FunctionDecl *Function = dyn_cast<FunctionDecl>(CurContext))
- Param->setDeclContext(Function);
- else if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(CurContext))
- Param->setDeclContext(MD);
- else if (BlockDecl *BD = dyn_cast<BlockDecl>(CurContext))
- Param->setDeclContext(BD);
- // FIXME. Other contexts?
-
+ Param->setDeclContext(CurContext);
}
void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,