[cfe-commits] r147920 - /cfe/trunk/lib/Driver/ToolChains.cpp
Eli Friedman
eli.friedman at gmail.com
Tue Jan 10 18:41:15 PST 2012
Author: efriedma
Date: Tue Jan 10 20:41:15 2012
New Revision: 147920
URL: http://llvm.org/viewvc/llvm-project?rev=147920&view=rev
Log:
Revert changes to lib/Driver in r147917; I didn't mean to commit this.
Modified:
cfe/trunk/lib/Driver/ToolChains.cpp
Modified: cfe/trunk/lib/Driver/ToolChains.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=147920&r1=147919&r2=147920&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains.cpp Tue Jan 10 20:41:15 2012
@@ -533,15 +533,24 @@
Arg *iOSVersion = Args.getLastArg(options::OPT_miphoneos_version_min_EQ);
Arg *iOSSimVersion = Args.getLastArg(
options::OPT_mios_simulator_version_min_EQ);
-
- if (!iOSSimVersion) {
- // As a legacy hack, treat -D__IPHONE_OS_VERSION_MIN_REQUIRED=40201 as
- // equivalent to -mios-simulator-version-min.
+
+ // 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())) {
- iOSSimVersion = *it;
+ 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;
}
}
@@ -652,21 +661,11 @@
} else {
const Arg *Version = iOSVersion ? iOSVersion : iOSSimVersion;
assert(Version && "Unknown target platform!");
- if (Version->getOption().getID() == options::OPT_D) {
- // If the simulator version comes from a define, parse that.
- if (!GetVersionFromSimulatorDefine(Version->getValue(Args), Major,
- Minor, Micro) ||
- Major >= 10 || Minor >= 100 || Micro >= 100)
- getDriver().Diag(diag::err_drv_invalid_version_number)
- << Version->getAsString(Args);
- } else {
- // Otherwise, use the normal version parsing code.
- if (!Driver::GetReleaseVersion(Version->getValue(Args), Major, Minor,
- Micro, HadExtra) ||
- HadExtra || Major >= 10 || Minor >= 100 || Micro >= 100)
- getDriver().Diag(diag::err_drv_invalid_version_number)
- << Version->getAsString(Args);
- }
+ if (!Driver::GetReleaseVersion(Version->getValue(Args), Major, Minor,
+ Micro, HadExtra) || HadExtra ||
+ Major >= 10 || Minor >= 100 || Micro >= 100)
+ getDriver().Diag(diag::err_drv_invalid_version_number)
+ << Version->getAsString(Args);
}
bool IsIOSSim = bool(iOSSimVersion);
More information about the cfe-commits
mailing list