Index: lib/Driver/Tools.cpp =================================================================== --- lib/Driver/Tools.cpp (revision 146670) +++ lib/Driver/Tools.cpp (working copy) @@ -966,6 +966,7 @@ Arg *A; llvm::StringRef WhichHexagon; + // Select the default CPU (v4) if none was given or detection failed. if ((A = getLastHexagonArchArg (Args))) { if ((A->getOption().matches(options::OPT_march_EQ)) || (A->getOption().matches(options::OPT_mcpu_EQ))) { @@ -977,7 +978,7 @@ else if (WhichHexagon == "v4") return "hexagonv4"; else - assert (0 && "Unknown -march or -mcpu value"); + return "hexagonv4"; } else { if (A->getOption().matches(options::OPT_mv2)) @@ -986,11 +987,9 @@ return "hexagonv3"; else if (A->getOption().matches(options::OPT_mv4)) return "hexagonv4"; - else - assert(0 && "Unknown -m argument."); } } - return "hexagonv2"; + return "hexagonv4"; } void Clang::AddHexagonTargetArgs(const ArgList &Args, @@ -2774,6 +2773,7 @@ RenderExtraToolArgs(JA, CmdArgs); // Add Arch Information + // Select the default CPU (v4) if none was given or detection failed. Arg *A; if ((A = getLastHexagonArchArg (Args))) { if ((A->getOption().matches(options::OPT_march_EQ)) || @@ -2786,18 +2786,18 @@ else if (WhichHexagon == "v4") CmdArgs.push_back ("-mv4"); else - assert (0 && "Unknown -march or -mcpu value"); + CmdArgs.push_back ("-mv4"); } - else { - if (A->getOption().matches(options::OPT_mv2) || - A->getOption().matches(options::OPT_mv3) || - A->getOption().matches(options::OPT_mv4)) - A->render(Args, CmdArgs); - else - assert(0 && "Unknown -m argument."); + else if (A->getOption().matches(options::OPT_mv2) || + A->getOption().matches(options::OPT_mv3) || + A->getOption().matches(options::OPT_mv4)) { + A->render(Args, CmdArgs); } + } + else { + CmdArgs.push_back ("-mv4"); + } - } CmdArgs.push_back("-mqdsp6-compat"); const char *GCCName;