]> granicus.if.org Git - clang/commitdiff
Set flag for -fobjc-gc in IMAGE_INFO variable.
authorFariborz Jahanian <fjahanian@apple.com>
Tue, 24 Feb 2009 21:08:09 +0000 (21:08 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Tue, 24 Feb 2009 21:08:09 +0000 (21:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65387 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp

index a9cb833c7321675f08a9bd9b734b95b685436472..3dec1dd7961e0027842b628f359e3a1f6870c31b 100644 (file)
@@ -3428,7 +3428,11 @@ void CGObjCNonFragileABIMac::FinishNonFragileABIModule() {
   // FIXME. flags can be 0 | 1 | 2 | 6. For now just use 0
   std::vector<llvm::Constant*> Values(2);
   Values[0] = llvm::ConstantInt::get(ObjCTypes.IntTy, 0);
-  Values[1] = llvm::ConstantInt::get(ObjCTypes.IntTy, 0);
+  unsigned int flags = 0;
+  // FIXME -fobjc-gc-only flags is 6.
+  if (CGM.getContext().getLangOptions().getGCMode() != LangOptions::NonGC)
+    flags |= 2;
+  Values[1] = llvm::ConstantInt::get(ObjCTypes.IntTy, flags);
   llvm::Constant* Init = llvm::ConstantArray::get(
                                       llvm::ArrayType::get(ObjCTypes.IntTy, 2),
                                       Values);