[cfe-commits] r64647 - /cfe/trunk/lib/CodeGen/CGObjCMac.cpp

Daniel Dunbar daniel at zuster.org
Mon Feb 16 10:48:45 PST 2009


Author: ddunbar
Date: Mon Feb 16 12:48:45 2009
New Revision: 64647

URL: http://llvm.org/viewvc/llvm-project?rev=64647&view=rev
Log:
assert/ErrorUnsupported in unimplemented stub functions instead of
miscompiling.

Modified:
    cfe/trunk/lib/CodeGen/CGObjCMac.cpp

Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=64647&r1=64646&r2=64647&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon Feb 16 12:48:45 2009
@@ -726,30 +726,39 @@
   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,





More information about the cfe-commits mailing list