]> granicus.if.org Git - clang/commitdiff
Driver: Forward -miphoneos-version-min to clang.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 10 Apr 2009 20:11:50 +0000 (20:11 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 10 Apr 2009 20:11:50 +0000 (20:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68816 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp

index daa45d7a34dc5dbb5ae9e83c289e1c040218a0db..975a6c1fda7a5d7f39966acff48454d3d086f04b 100644 (file)
@@ -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()));
   }
index aa9866b1ee3035f64ea5dfadf69f82bc0d3bc938..4d1aca436afb025d998cd4ecf5fd55ab6146ba17 100644 (file)
@@ -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.