diff options
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index a9cb833c73..3dec1dd796 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -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); |