diff options
| author | Alex Lorenz <arphaman@gmail.com> | 2017-12-07 19:04:10 +0000 |
|---|---|---|
| committer | Alex Lorenz <arphaman@gmail.com> | 2017-12-07 19:04:10 +0000 |
| commit | 6cdef0efb7bf62cc44e80cd0c8973eda26d09db4 (patch) | |
| tree | 643e2443aca590b913c107f648045d420f6bffb0 /clang/lib/Driver | |
| parent | d182aaa69daf3c62ab302ec64356169575e277a2 (diff) | |
| download | bcm5719-llvm-6cdef0efb7bf62cc44e80cd0c8973eda26d09db4.tar.gz bcm5719-llvm-6cdef0efb7bf62cc44e80cd0c8973eda26d09db4.zip | |
[driver] Set the 'simulator' environment for Darwin when compiling for
iOS/tvOS/watchOS simulator
rdar://35135215
Differential Revision: https://reviews.llvm.org/D40682
llvm-svn: 320073
Diffstat (limited to 'clang/lib/Driver')
| -rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 6 | ||||
| -rw-r--r-- | clang/lib/Driver/ToolChains/Darwin.cpp | 8 | ||||
| -rw-r--r-- | clang/lib/Driver/ToolChains/Darwin.h | 3 |
3 files changed, 9 insertions, 8 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 328b88559b7..f96a1182e3c 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -81,6 +81,12 @@ ToolChain::ToolChain(const Driver &D, const llvm::Triple &T, getFilePaths().push_back(CandidateLibPath); } +void ToolChain::setTripleEnvironment(llvm::Triple::EnvironmentType Env) { + Triple.setEnvironment(Env); + if (EffectiveTriple != llvm::Triple()) + EffectiveTriple.setEnvironment(Env); +} + ToolChain::~ToolChain() { } diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index 7c401aa9dd5..2b0e59a6b59 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -1214,14 +1214,6 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { if (iOSVersion) ExplicitIOSDeploymentTargetStr = iOSVersion->getAsString(Args); - // Add a macro to differentiate between m(iphone|tv|watch)os-version-min=X.Y and - // -m(iphone|tv|watch)simulator-version-min=X.Y. - if (Args.hasArg(options::OPT_mios_simulator_version_min_EQ) || - Args.hasArg(options::OPT_mtvos_simulator_version_min_EQ) || - Args.hasArg(options::OPT_mwatchos_simulator_version_min_EQ)) - Args.append(Args.MakeSeparateArg(nullptr, Opts.getOption(options::OPT_D), - " __APPLE_EMBEDDED_SIMULATOR__=1")); - if (OSXVersion && (iOSVersion || TvOSVersion || WatchOSVersion)) { getDriver().Diag(diag::err_drv_argument_not_allowed_with) << OSXVersion->getAsString(Args) diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h index c861f172fe1..6d6493a6d1b 100644 --- a/clang/lib/Driver/ToolChains/Darwin.h +++ b/clang/lib/Driver/ToolChains/Darwin.h @@ -329,6 +329,9 @@ protected: TargetInitialized = true; TargetPlatform = Platform; TargetVersion = VersionTuple(Major, Minor, Micro); + if (Platform == IPhoneOSSimulator || Platform == TvOSSimulator || + Platform == WatchOSSimulator) + const_cast<Darwin *>(this)->setTripleEnvironment(llvm::Triple::Simulator); } bool isTargetIPhoneOS() const { |

