diff options
author | Bob Wilson <bob.wilson@apple.com> | 2012-01-26 03:37:03 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2012-01-26 03:37:03 +0000 |
commit | c01dfc18694bb7aa01c12bad3fb710938018728f (patch) | |
tree | 0bd28d5cd3837d1c80d043fa910e2db6c33c5b58 /lib/Driver/ToolChains.cpp | |
parent | b4ab8431b414ca399edc890f12f758cb19c090b8 (diff) |
Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly."
There were some problems with this, so I'm backing it out for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains.cpp')
-rw-r--r-- | lib/Driver/ToolChains.cpp | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index c39d624346..ad1c362b5f 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -533,6 +533,28 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { Arg *iOSSimVersion = Args.getLastArg( options::OPT_mios_simulator_version_min_EQ); + // FIXME: HACK! When compiling for the simulator we don't get a + // '-miphoneos-version-min' to help us know whether there is an ARC runtime + // or not; try to parse a __IPHONE_OS_VERSION_MIN_REQUIRED + // define passed in command-line. + if (!iOSVersion && !iOSSimVersion) { + for (arg_iterator it = Args.filtered_begin(options::OPT_D), + ie = Args.filtered_end(); it != ie; ++it) { + StringRef define = (*it)->getValue(Args); + if (define.startswith(SimulatorVersionDefineName())) { + unsigned Major = 0, Minor = 0, Micro = 0; + if (GetVersionFromSimulatorDefine(define, Major, Minor, Micro) && + Major < 10 && Minor < 100 && Micro < 100) { + ARCRuntimeForSimulator = Major < 5 ? ARCSimulator_NoARCRuntime + : ARCSimulator_HasARCRuntime; + LibCXXForSimulator = Major < 5 ? LibCXXSimulator_NotAvailable + : LibCXXSimulator_Available; + } + break; + } + } + } + if (OSXVersion && (iOSVersion || iOSSimVersion)) { getDriver().Diag(diag::err_drv_argument_not_allowed_with) << OSXVersion->getAsString(Args) @@ -618,31 +640,6 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { } } - // FIXME: HACK! When compiling for the simulator we can't depend - // on getting '-mios-simulator-version-min'; try to parse a - // __IPHONE_OS_VERSION_MIN_REQUIRED define passed in command-line. - if (OSXVersion) { - for (arg_iterator it = Args.filtered_begin(options::OPT_D), - ie = Args.filtered_end(); it != ie; ++it) { - StringRef define = (*it)->getValue(Args); - if (define.startswith(SimulatorVersionDefineName())) { - unsigned Major = 0, Minor = 0, Micro = 0; - if (GetVersionFromSimulatorDefine(define, Major, Minor, Micro) && - Major < 10 && Minor < 100 && Micro < 100) { - std::string iOSSimTarget; - llvm::raw_string_ostream(iOSSimTarget) - << Major << '.' << Minor << '.' << Micro; - const Option *O = Opts.getOption( - options::OPT_mios_simulator_version_min_EQ); - iOSSimVersion = Args.MakeJoinedArg(0, O, iOSSimTarget); - Args.append(iOSSimVersion); - OSXVersion = 0; - } - break; - } - } - } - // Reject invalid architecture combinations. if (iOSSimVersion && (getTriple().getArch() != llvm::Triple::x86 && getTriple().getArch() != llvm::Triple::x86_64)) { |