Starting patch to generate more specific API for objc's
GC. Currently, new API will be generated under
clang-cc's -fobjc-newgc-api flag which will eventually
become the default. WIP.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82082 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp
index 3c451c8..31aeb74 100644
--- a/tools/clang-cc/clang-cc.cpp
+++ b/tools/clang-cc/clang-cc.cpp
@@ -372,6 +372,10 @@
              llvm::cl::desc("Enable Objective-C garbage collection"));
 
 static llvm::cl::opt<bool>
+ObjCEnableNewGCAPI("fobjc-newgc-api",
+             llvm::cl::desc("Enable Objective-C garbage collection's new API"));
+
+static llvm::cl::opt<bool>
 ObjCEnableGCBitmapPrint("print-ivar-layout",
              llvm::cl::desc("Enable Objective-C Ivar layout bitmap print trace"));
 
@@ -508,6 +512,9 @@
   else if (ObjCEnableGC)
     Options.setGCMode(LangOptions::HybridGC);
 
+  if (ObjCEnableNewGCAPI)
+    Options.ObjCNewGCAPI = 1;
+
   if (ObjCEnableGCBitmapPrint)
     Options.ObjCGCBitmapPrint = 1;