This patch adds support for sender-aware dispatch in Objective-C for the GNU runtime, when
compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object
planes, and a few other things.
Patch by David Chisnall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72275 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp
index f2f0523..5b0f864 100644
--- a/tools/clang-cc/clang-cc.cpp
+++ b/tools/clang-cc/clang-cc.cpp
@@ -445,6 +445,10 @@
llvm::cl::desc("Trap on integer overflow"),
llvm::cl::init(false));
+static llvm::cl::opt<bool>
+ObjCSenderDispatch("fobjc-sender-dependent-dispatch",
+ llvm::cl::desc("Enable sender-dependent dispatch for"
+ "Objective-C messages"), llvm::cl::init(false));
/// InitializeBaseLanguage - Handle the -x foo options.
static void InitializeBaseLanguage() {
@@ -827,6 +831,8 @@
if (ObjCNonFragileABI)
Options.ObjCNonFragileABI = 1;
+
+ Options.ObjCSenderDispatch = ObjCSenderDispatch;
if (EmitAllDecls)
Options.EmitAllDecls = 1;