diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 13 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index daa45d7a34d..975a6c1fda7 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -140,7 +140,18 @@ DerivedArgList *Darwin_X86::TranslateArgs(InputArgList &Args) const { // have something that works, we should reevaluate each translation // and try to push it down into tool specific logic. - if (!Args.hasArg(options::OPT_mmacosx_version_min_EQ, false)) { + Arg *OSXVersion = + Args.getLastArg(options::OPT_mmacosx_version_min_EQ, false); + Arg *iPhoneVersion = + Args.getLastArg(options::OPT_miphoneos_version_min_EQ, false); + if (OSXVersion && iPhoneVersion) { + getHost().getDriver().Diag(clang::diag::err_drv_argument_not_allowed_with) + << OSXVersion->getAsString(Args) + << iPhoneVersion->getAsString(Args); + } else if (!OSXVersion && !iPhoneVersion) { + // Chose the default version based on the arch. + // + // FIXME: This will need to be fixed when we merge in arm support. const Option *O = Opts.getOption(options::OPT_mmacosx_version_min_EQ); DAL->append(DAL->MakeJoinedArg(0, O, MacosxVersionMin.c_str())); } diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index aa9866b1ee3..4d1aca436af 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -362,6 +362,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.AddAllArgs(CmdArgs, options::OPT_v); Args.AddLastArg(CmdArgs, options::OPT_P); Args.AddLastArg(CmdArgs, options::OPT_mmacosx_version_min_EQ); + Args.AddLastArg(CmdArgs, options::OPT_miphoneos_version_min_EQ); // Special case debug options to only pass -g to clang. This is // wrong. |