Change self/_cmd to be instances of ImplicitParamDecl instead of ParmVarDecl.
Patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52422 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index 240e6c7..a688c6e 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -53,12 +53,12 @@
}
} else // we have a factory method.
selfTy = Context.getObjCClassType();
- CurMethodDecl->setSelfDecl(CreateImplicitParameter(FnBodyScope, PI.Ident,
- PI.IdentLoc, selfTy));
+ CurMethodDecl->setSelfDecl(CreateImplicitParameter(FnBodyScope,
+ PI.Ident, PI.IdentLoc, selfTy));
PI.Ident = &Context.Idents.get("_cmd");
- CreateImplicitParameter(FnBodyScope, PI.Ident, PI.IdentLoc,
- Context.getObjCSelType());
+ CurMethodDecl->setCmdDecl(CreateImplicitParameter(FnBodyScope,
+ PI.Ident, PI.IdentLoc, Context.getObjCSelType()));
// Introduce all of the other parameters into this scope.
for (unsigned i = 0, e = MDecl->getNumParams(); i != e; ++i) {