Refactoring ObjC Next's runtime classes in preparation for
the new ObjC's abi.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62721 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 1fec6fa..900e0a0 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -483,6 +483,9 @@
 static llvm::cl::opt<bool>
 EnableBlocks("fblocks", llvm::cl::desc("enable the 'blocks' language feature"));
 
+static llvm::cl::opt<bool>
+ObjCModernABI("fobjc-modern-abi", llvm::cl::desc("enable objective-c's modern abi"));
+
 
 // FIXME: This (and all GCC -f options) really come in -f... and
 // -fno-... forms, and additionally support automagic behavior when
@@ -614,6 +617,9 @@
     Options.NeXTRuntime = 1;
   else if (GNURuntime)
     Options.NeXTRuntime = 0;
+
+  if (ObjCModernABI)
+    Options.ObjCModernABI = 1;
 }
 
 static llvm::cl::opt<bool>