diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-04-26 16:46:50 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-04-26 16:46:50 +0000 |
commit | 46a572b871de239cb8904bb124418a64edd6adcb (patch) | |
tree | f2504834f79b9e6a1c4e07d0c92edb738f497417 /clang/lib | |
parent | d984815ed938acc3980999fbde9efee4294acc52 (diff) | |
download | bcm5719-llvm-46a572b871de239cb8904bb124418a64edd6adcb.tar.gz bcm5719-llvm-46a572b871de239cb8904bb124418a64edd6adcb.zip |
Make the static type of the exception variable in an Objective-C
@catch a VarDecl. The dynamic type is still a ParmVarDecl, but that
will change soon. No effective functionality change.
llvm-svn: 102341
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/StmtDumper.cpp | 2 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGObjCGNU.cpp | 6 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGObjCMac.cpp | 8 | ||||
-rw-r--r-- | clang/lib/Frontend/PCHReaderStmt.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Frontend/RewriteObjC.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 2 |
6 files changed, 11 insertions, 11 deletions
diff --git a/clang/lib/AST/StmtDumper.cpp b/clang/lib/AST/StmtDumper.cpp index f8b81735193..ca62ed12d05 100644 --- a/clang/lib/AST/StmtDumper.cpp +++ b/clang/lib/AST/StmtDumper.cpp @@ -555,7 +555,7 @@ void StmtDumper::VisitObjCMessageExpr(ObjCMessageExpr* Node) { void StmtDumper::VisitObjCAtCatchStmt(ObjCAtCatchStmt *Node) { DumpStmt(Node); - if (ParmVarDecl *CatchParam = Node->getCatchParamDecl()) { + if (VarDecl *CatchParam = Node->getCatchParamDecl()) { OS << " catch parm = "; DumpDeclarator(CatchParam); } else { diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp index a248c5a1be0..e8ade2adb1a 100644 --- a/clang/lib/CodeGen/CGObjCGNU.cpp +++ b/clang/lib/CodeGen/CGObjCGNU.cpp @@ -1773,7 +1773,7 @@ void CGObjCGNU::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, llvm::Value *RethrowPtr = CGF.CreateTempAlloca(Exc->getType(), "_rethrow"); llvm::SmallVector<llvm::Value*, 8> ESelArgs; - llvm::SmallVector<std::pair<const ParmVarDecl*, const Stmt*>, 8> Handlers; + llvm::SmallVector<std::pair<const VarDecl*, const Stmt*>, 8> Handlers; ESelArgs.push_back(Exc); ESelArgs.push_back(Personality); @@ -1787,7 +1787,7 @@ void CGObjCGNU::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, for (unsigned I = 0, N = AtTry.getNumCatchStmts(); I != N; ++I) { const ObjCAtCatchStmt *CatchStmt = AtTry.getCatchStmt(I); - const ParmVarDecl *CatchDecl = CatchStmt->getCatchParamDecl(); + const VarDecl *CatchDecl = CatchStmt->getCatchParamDecl(); Handlers.push_back(std::make_pair(CatchDecl, CatchStmt->getCatchBody())); @@ -1826,7 +1826,7 @@ void CGObjCGNU::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, ESelArgs.begin(), ESelArgs.end(), "selector"); for (unsigned i = 0, e = Handlers.size(); i != e; ++i) { - const ParmVarDecl *CatchParam = Handlers[i].first; + const VarDecl *CatchParam = Handlers[i].first; const Stmt *CatchBody = Handlers[i].second; llvm::BasicBlock *Next = 0; diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index 62e79005339..3905bd4f3d1 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -2670,7 +2670,7 @@ void CGObjCMac::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, const ObjCAtCatchStmt *CatchStmt = AtTryStmt->getCatchStmt(I); llvm::BasicBlock *NextCatchBlock = CGF.createBasicBlock("catch"); - const ParmVarDecl *CatchParam = CatchStmt->getCatchParamDecl(); + const VarDecl *CatchParam = CatchStmt->getCatchParamDecl(); const ObjCObjectPointerType *OPT = 0; // catch(...) always matches. @@ -5562,13 +5562,13 @@ CGObjCNonFragileABIMac::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, SelectorArgs.push_back(ObjCTypes.getEHPersonalityPtr()); // Construct the lists of (type, catch body) to handle. - llvm::SmallVector<std::pair<const ParmVarDecl*, const Stmt*>, 8> Handlers; + llvm::SmallVector<std::pair<const VarDecl*, const Stmt*>, 8> Handlers; bool HasCatchAll = false; if (isTry) { const ObjCAtTryStmt &AtTry = cast<ObjCAtTryStmt>(S); for (unsigned I = 0, N = AtTry.getNumCatchStmts(); I != N; ++I) { const ObjCAtCatchStmt *CatchStmt = AtTry.getCatchStmt(I); - const ParmVarDecl *CatchDecl = CatchStmt->getCatchParamDecl(); + const VarDecl *CatchDecl = CatchStmt->getCatchParamDecl(); Handlers.push_back(std::make_pair(CatchDecl, CatchStmt->getCatchBody())); // catch(...) always matches. @@ -5618,7 +5618,7 @@ CGObjCNonFragileABIMac::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, SelectorArgs.begin(), SelectorArgs.end(), "selector"); for (unsigned i = 0, e = Handlers.size(); i != e; ++i) { - const ParmVarDecl *CatchParam = Handlers[i].first; + const VarDecl *CatchParam = Handlers[i].first; const Stmt *CatchBody = Handlers[i].second; llvm::BasicBlock *Next = 0; diff --git a/clang/lib/Frontend/PCHReaderStmt.cpp b/clang/lib/Frontend/PCHReaderStmt.cpp index cf26b6e2372..5e08be138a1 100644 --- a/clang/lib/Frontend/PCHReaderStmt.cpp +++ b/clang/lib/Frontend/PCHReaderStmt.cpp @@ -839,7 +839,7 @@ unsigned PCHStmtReader::VisitObjCForCollectionStmt(ObjCForCollectionStmt *S) { unsigned PCHStmtReader::VisitObjCAtCatchStmt(ObjCAtCatchStmt *S) { VisitStmt(S); S->setCatchBody(cast_or_null<Stmt>(StmtStack.back())); - S->setCatchParamDecl(cast_or_null<ParmVarDecl>(Reader.GetDecl(Record[Idx++]))); + S->setCatchParamDecl(cast_or_null<VarDecl>(Reader.GetDecl(Record[Idx++]))); S->setAtCatchLoc(SourceLocation::getFromRawEncoding(Record[Idx++])); S->setRParenLoc(SourceLocation::getFromRawEncoding(Record[Idx++])); return 1; diff --git a/clang/lib/Frontend/RewriteObjC.cpp b/clang/lib/Frontend/RewriteObjC.cpp index 5f3b27201f5..a1cbb324c49 100644 --- a/clang/lib/Frontend/RewriteObjC.cpp +++ b/clang/lib/Frontend/RewriteObjC.cpp @@ -1881,7 +1881,7 @@ Stmt *RewriteObjC::RewriteObjCTryStmt(ObjCAtTryStmt *S) { Stmt *lastCatchBody = 0; for (unsigned I = 0, N = S->getNumCatchStmts(); I != N; ++I) { ObjCAtCatchStmt *Catch = S->getCatchStmt(I); - ParmVarDecl *catchDecl = Catch->getCatchParamDecl(); + VarDecl *catchDecl = Catch->getCatchParamDecl(); if (I == 0) buf = "if ("; // we are generating code for the first catch clause diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 9a223e91dc3..8ee5d3292ee 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -1711,6 +1711,6 @@ Sema::DeclPtrTy Sema::ActOnObjCExceptionDecl(Scope *S, Declarator &D) { // FIXME: Perform checking on the declaration here. DeclPtrTy Dcl = ActOnParamDeclarator(S, D); if (Dcl.get()) - cast<ParmVarDecl>(Dcl.getAs<Decl>())->setDeclContext(CurContext); + cast<VarDecl>(Dcl.getAs<Decl>())->setDeclContext(CurContext); return Dcl; } |