Commit de2f7f1d authored by Daniel Sanders's avatar Daniel Sanders
Browse files

Merged r195249:

------------------------------------------------------------------------
r195249 | atanasyan | 2013-11-20 13:53:20 +0000 (Wed, 20 Nov 2013) | 2 lines

[Mips] Take in account the -mfp64 command line option when build paths
to the crt*.o files, libraries and headers for the MIPS FSFS toolchain.
------------------------------------------------------------------------

llvm-svn: 196082
parent c50835da
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -1349,6 +1349,11 @@ static bool isMicroMips(const ArgList &Args) {
  return A && A->getOption().matches(options::OPT_mmicromips);
}

static bool isMipsFP64(const ArgList &Args) {
  Arg *A = Args.getLastArg(options::OPT_mfp64, options::OPT_mfp32);
  return A && A->getOption().matches(options::OPT_mfp64);
}

static bool isMipsNan2008(const ArgList &Args) {
  Arg *A = Args.getLastArg(options::OPT_mnan_EQ);
  return A && A->getValue() == StringRef("2008");
@@ -1462,9 +1467,14 @@ void Generic_GCC::GCCInstallationDetector::findMIPSABIDirSuffix(

    if (isSoftFloatABI(Args))
      Suffix += "/sof";
    else if (isMipsNan2008(Args))
    else {
      if (isMipsFP64(Args))
        Suffix += "/fp64";

      if (isMipsNan2008(Args))
        Suffix += "/nan2008";
    }
  }

  if (!hasCrtBeginObj(Path + Suffix))
    Suffix.clear();
+7 −0
Original line number Diff line number Diff line
@@ -6173,6 +6173,13 @@ void gnutools::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
        CmdArgs.push_back(Args.MakeArgString("-mnan=2008"));
    }

    if (Arg *A = Args.getLastArg(options::OPT_mfp32, options::OPT_mfp64)) {
      if (A->getOption().matches(options::OPT_mfp32))
        CmdArgs.push_back(Args.MakeArgString("-mfp32"));
      else
        CmdArgs.push_back(Args.MakeArgString("-mfp64"));
    }

    Args.AddLastArg(CmdArgs, options::OPT_mips16, options::OPT_mno_mips16);
    Args.AddLastArg(CmdArgs, options::OPT_mmicromips,
                    options::OPT_mno_micromips);
Loading