summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-07-06 00:26:06 +0000
committerJohn McCall <rjmccall@apple.com>2011-07-06 00:26:06 +0000
commit24fc0decfe337258a3dacc7936a9da84e2406cdc (patch)
treee91ae1686c100a1cadcdc577c82e30c052f93ee6 /clang/lib/Driver/ToolChains.h
parentaf51b1f7096578431578d6a1430366f7ad365430 (diff)
downloadbcm5719-llvm-24fc0decfe337258a3dacc7936a9da84e2406cdc.tar.gz
bcm5719-llvm-24fc0decfe337258a3dacc7936a9da84e2406cdc.zip
Change the driver's logic about Objective-C runtimes: abstract out a
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
Diffstat (limited to 'clang/lib/Driver/ToolChains.h')
-rw-r--r--clang/lib/Driver/ToolChains.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h
index 9ed0dc2ef8e..d68016b3a24 100644
--- a/clang/lib/Driver/ToolChains.h
+++ b/clang/lib/Driver/ToolChains.h
@@ -80,6 +80,8 @@ private:
/// initialized.
std::string MacosxVersionMin;
+ bool hasARCRuntime() const;
+
private:
void AddDeploymentTarget(DerivedArgList &Args) const;
@@ -184,7 +186,7 @@ public:
virtual bool HasNativeLLVMSupport() const;
- virtual bool HasARCRuntime() const;
+ virtual void configureObjCRuntime(ObjCRuntime &runtime) const;
virtual DerivedArgList *TranslateArgs(const DerivedArgList &Args,
const char *BoundArch) const;
OpenPOWER on IntegriCloud