diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-02-16 18:48:45 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-16 18:48:45 +0000 |
commit | 28ed0847480b76ce76a7e605156608b1cea80e53 (patch) | |
tree | 21bf9529ccd4dc29818bc82d8bc4da89debdaf4c /lib/CodeGen/CGObjCMac.cpp | |
parent | dd28d00a2f5cc10b0ccf3705adcf4d8a62ecc8aa (diff) |
assert/ErrorUnsupported in unimplemented stub functions instead of
miscompiling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64647 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index 2a0a4aac91..3476ba6d40 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -726,30 +726,39 @@ public: virtual llvm::Function *GetPropertySetFunction(){ return ObjCTypes.SetPropertyFn; } - virtual llvm::Function *EnumerationMutationFunction() - { return ObjCTypes.EnumerationMutationFn; } + virtual llvm::Function *EnumerationMutationFunction() { + return ObjCTypes.EnumerationMutationFn; + } virtual void EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, - const Stmt &S) - { return; } + const Stmt &S) { + CGF.ErrorUnsupported(&S, "try or synchronized statement"); + } virtual void EmitThrowStmt(CodeGen::CodeGenFunction &CGF, - const ObjCAtThrowStmt &S) - { return; } + const ObjCAtThrowStmt &S) { + CGF.ErrorUnsupported(&S, "throw statement"); + } virtual llvm::Value * EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF, - llvm::Value *AddrWeakObj) - { return 0; } + llvm::Value *AddrWeakObj) { + assert(0 && "FIXME: Implement EmitObjCWeakRead for non-fragile ABI"); + return 0; + } virtual void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF, - llvm::Value *src, llvm::Value *dst) - { return; } + llvm::Value *src, llvm::Value *dst) { + assert(0 && "FIXME: Implement EmitObjCWeakAssign for non-fragile ABI"); + } virtual void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF, - llvm::Value *src, llvm::Value *dest) - { return; } + llvm::Value *src, llvm::Value *dest) { + assert(0 && "FIXME: Implement EmitObjCGlobalAssign for non-fragile ABI"); + } virtual void EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF, - llvm::Value *src, llvm::Value *dest) - { return; } + llvm::Value *src, llvm::Value *dest) { + assert(0 && "FIXME: Implement EmitObjCIvarAssign for non-fragile ABI"); + } virtual void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF, - llvm::Value *src, llvm::Value *dest) - { return; } + llvm::Value *src, llvm::Value *dest) { + assert(0 && "FIXME: Implement EmitObjCStrongCastAssign for non-fragile ABI"); + } virtual LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF, QualType ObjectTy, llvm::Value *BaseValue, |