diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-24 07:40:24 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-24 07:40:24 +0000 |
commit | c46a079957097a86d562bc85364f6c4f9beadd04 (patch) | |
tree | d31c882212e31a6de7627d193a3d6745aec258f4 /clang/lib/CodeGen | |
parent | c4b4ad236d88b047ae8fec1b123006747293f4e9 (diff) | |
download | bcm5719-llvm-c46a079957097a86d562bc85364f6c4f9beadd04.tar.gz bcm5719-llvm-c46a079957097a86d562bc85364f6c4f9beadd04.zip |
Fix declaration of obc_enumerationMutation function, for GNU runtime.
llvm-svn: 76959
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGObjCGNU.cpp | 16 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGObjCMac.cpp | 3 |
2 files changed, 11 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp index 9981bdb0118..a56c564072a 100644 --- a/clang/lib/CodeGen/CGObjCGNU.cpp +++ b/clang/lib/CodeGen/CGObjCGNU.cpp @@ -142,7 +142,7 @@ public: virtual llvm::Function *ModuleInitFunction(); virtual llvm::Function *GetPropertyGetFunction(); virtual llvm::Function *GetPropertySetFunction(); - virtual llvm::Function *EnumerationMutationFunction(); + virtual llvm::Constant *EnumerationMutationFunction(); virtual void EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, const Stmt &S); @@ -1243,11 +1243,15 @@ llvm::Function *CGObjCGNU::GetPropertySetFunction() { "objc_setProperty")); } -llvm::Function *CGObjCGNU::EnumerationMutationFunction() { - std::vector<const llvm::Type*> Params(1, IdTy); - return cast<llvm::Function>(CGM.CreateRuntimeFunction( - VMContext.getFunctionType(llvm::Type::VoidTy, Params, true), - "objc_enumerationMutation")); +llvm::Constant *CGObjCGNU::EnumerationMutationFunction() { + CodeGen::CodeGenTypes &Types = CGM.getTypes(); + ASTContext &Ctx = CGM.getContext(); + // void objc_enumerationMutation (id) + llvm::SmallVector<QualType,16> Params; + Params.push_back(Ctx.getObjCIdType()); + const llvm::FunctionType *FTy = + Types.GetFunctionType(Types.getFunctionInfo(Ctx.VoidTy, Params), false); + return CGM.CreateRuntimeFunction(FTy, "objc_enumerationMutation"); } void CGObjCGNU::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index 88b27eaf92d..4b4605ef766 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -325,8 +325,7 @@ public: ASTContext &Ctx = CGM.getContext(); // void objc_enumerationMutation (id) llvm::SmallVector<QualType,16> Params; - QualType IdType = Ctx.getObjCIdType(); - Params.push_back(IdType); + Params.push_back(Ctx.getObjCIdType()); const llvm::FunctionType *FTy = Types.GetFunctionType(Types.getFunctionInfo(Ctx.VoidTy, Params), false); return CGM.CreateRuntimeFunction(FTy, "objc_enumerationMutation"); |