aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCMac.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-16 18:48:45 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-16 18:48:45 +0000
commit28ed0847480b76ce76a7e605156608b1cea80e53 (patch)
tree21bf9529ccd4dc29818bc82d8bc4da89debdaf4c /lib/CodeGen/CGObjCMac.cpp
parentdd28d00a2f5cc10b0ccf3705adcf4d8a62ecc8aa (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.cpp41
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,