diff options
Diffstat (limited to 'lib/Driver/ToolChains.cpp')
-rw-r--r-- | lib/Driver/ToolChains.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index b4501acbb1..68ebc1b6b3 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -19,6 +19,7 @@ #include "clang/Driver/Driver.h" #include "clang/Driver/DriverDiagnostic.h" #include "clang/Driver/HostInfo.h" +#include "clang/Driver/ObjCRuntime.h" #include "clang/Driver/OptTable.h" #include "clang/Driver/Option.h" #include "clang/Driver/Options.h" @@ -74,8 +75,7 @@ bool Darwin::HasNativeLLVMSupport() const { return true; } -/// Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0. -bool Darwin::HasARCRuntime() const { +bool Darwin::hasARCRuntime() const { // FIXME: Remove this once there is a proper way to detect an ARC runtime // for the simulator. switch (ARCRuntimeForSimulator) { @@ -93,6 +93,14 @@ bool Darwin::HasARCRuntime() const { return !isMacosxVersionLT(10, 7); } +/// Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0. +void Darwin::configureObjCRuntime(ObjCRuntime &runtime) const { + if (runtime.getKind() != ObjCRuntime::NeXT) + return ToolChain::configureObjCRuntime(runtime); + + runtime.HasARC = runtime.HasWeak = hasARCRuntime(); +} + // FIXME: Can we tablegen this? static const char *GetArmArchForMArch(llvm::StringRef Value) { if (Value == "armv6k") |