r240791 - clang-format some of the files in lib/Driver. NFC

Nico Weber thakis at chromium.org
Fri Jun 26 21:37:52 PDT 2015


Can we please not land CLs like this in the future? They screw up `svn
blame` output, cause tons of local conflicts, and don't add all that much.

On Fri, Jun 26, 2015 at 8:47 AM, Douglas Katzman <dougk at google.com> wrote:

> Author: dougk
> Date: Fri Jun 26 10:47:46 2015
> New Revision: 240791
>
> URL: http://llvm.org/viewvc/llvm-project?rev=240791&view=rev
> Log:
> clang-format some of the files in lib/Driver. NFC
>
> Nothing was hand edited afterward except a few literal strings
> and comments that were poorly broken.
>
> Differential Revision: http://reviews.llvm.org/D10689
>
> Modified:
>     cfe/trunk/lib/Driver/Driver.cpp
>     cfe/trunk/lib/Driver/ToolChains.cpp
>     cfe/trunk/lib/Driver/ToolChains.h
>     cfe/trunk/lib/Driver/Tools.cpp
>
> Modified: cfe/trunk/lib/Driver/Driver.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=240791&r1=240790&r2=240791&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Driver.cpp (original)
> +++ cfe/trunk/lib/Driver/Driver.cpp Fri Jun 26 10:47:46 2015
> @@ -58,7 +58,7 @@ Driver::Driver(StringRef ClangExecutable
>        CCCUsePCH(true), SuppressMissingInputWarning(false) {
>
>    Name = llvm::sys::path::filename(ClangExecutable);
> -  Dir  = llvm::sys::path::parent_path(ClangExecutable);
> +  Dir = llvm::sys::path::parent_path(ClangExecutable);
>
>    // Compute the path to the resource directory.
>    StringRef ClangResourceDir(CLANG_RESOURCE_DIR);
> @@ -81,7 +81,7 @@ Driver::~Driver() {
>
>  void Driver::ParseDriverMode(ArrayRef<const char *> Args) {
>    const std::string OptName =
> -    getOpts().getOption(options::OPT_driver_mode).getPrefixedName();
> +      getOpts().getOption(options::OPT_driver_mode).getPrefixedName();
>
>    for (const char *ArgPtr : Args) {
>      // Ingore nullptrs, they are response file's EOL markers
> @@ -93,11 +93,11 @@ void Driver::ParseDriverMode(ArrayRef<co
>
>      const StringRef Value = Arg.drop_front(OptName.size());
>      const unsigned M = llvm::StringSwitch<unsigned>(Value)
> -        .Case("gcc", GCCMode)
> -        .Case("g++", GXXMode)
> -        .Case("cpp", CPPMode)
> -        .Case("cl",  CLMode)
> -        .Default(~0U);
> +                           .Case("gcc", GCCMode)
> +                           .Case("g++", GXXMode)
> +                           .Case("cpp", CPPMode)
> +                           .Case("cl", CLMode)
> +                           .Default(~0U);
>
>      if (M != ~0U)
>        Mode = static_cast<DriverMode>(M);
> @@ -112,7 +112,7 @@ InputArgList Driver::ParseArgStrings(Arr
>    unsigned IncludedFlagsBitmask;
>    unsigned ExcludedFlagsBitmask;
>    std::tie(IncludedFlagsBitmask, ExcludedFlagsBitmask) =
> -    getIncludeExcludeOptionFlagMasks();
> +      getIncludeExcludeOptionFlagMasks();
>
>    unsigned MissingArgIndex, MissingArgCount;
>    InputArgList Args =
> @@ -132,8 +132,7 @@ InputArgList Driver::ParseArgStrings(Arr
>      }
>
>      // Warn about -mcpu= without an argument.
> -    if (A->getOption().matches(options::OPT_mcpu_EQ) &&
> -        A->containsValue("")) {
> +    if (A->getOption().matches(options::OPT_mcpu_EQ) &&
> A->containsValue("")) {
>        Diag(clang::diag::warn_drv_empty_joined_argument) <<
> A->getAsString(Args);
>      }
>    }
> @@ -147,14 +146,13 @@ InputArgList Driver::ParseArgStrings(Arr
>  // Determine which compilation mode we are in. We look for options which
>  // affect the phase, starting with the earliest phases, and record which
>  // option we used to determine the final phase.
> -phases::ID Driver::getFinalPhase(const DerivedArgList &DAL, Arg
> **FinalPhaseArg)
> -const {
> +phases::ID Driver::getFinalPhase(const DerivedArgList &DAL,
> +                                 Arg **FinalPhaseArg) const {
>    Arg *PhaseArg = nullptr;
>    phases::ID FinalPhase;
>
>    // -{E,EP,P,M,MM} only run the preprocessor.
> -  if (CCCIsCPP() ||
> -      (PhaseArg = DAL.getLastArg(options::OPT_E)) ||
> +  if (CCCIsCPP() || (PhaseArg = DAL.getLastArg(options::OPT_E)) ||
>        (PhaseArg = DAL.getLastArg(options::OPT__SLASH_EP)) ||
>        (PhaseArg = DAL.getLastArg(options::OPT_M, options::OPT_MM)) ||
>        (PhaseArg = DAL.getLastArg(options::OPT__SLASH_P))) {
> @@ -190,7 +188,7 @@ const {
>    return FinalPhase;
>  }
>
> -static Arg* MakeInputArg(DerivedArgList &Args, OptTable *Opts,
> +static Arg *MakeInputArg(DerivedArgList &Args, OptTable *Opts,
>                           StringRef Value) {
>    Arg *A = new Arg(Opts->getOption(options::OPT_INPUT), Value,
>                     Args.getBaseArgs().MakeIndex(Value), Value.data());
> @@ -248,15 +246,13 @@ DerivedArgList *Driver::TranslateInputAr
>
>        // Rewrite unless -nostdlib is present.
>        if (!HasNostdlib && Value == "stdc++") {
> -        DAL->AddFlagArg(A, Opts->getOption(
> -                              options::OPT_Z_reserved_lib_stdcxx));
> +        DAL->AddFlagArg(A,
> Opts->getOption(options::OPT_Z_reserved_lib_stdcxx));
>          continue;
>        }
>
>        // Rewrite unconditionally.
>        if (Value == "cc_kext") {
> -        DAL->AddFlagArg(A, Opts->getOption(
> -                              options::OPT_Z_reserved_lib_cckext));
> +        DAL->AddFlagArg(A,
> Opts->getOption(options::OPT_Z_reserved_lib_cckext));
>          continue;
>        }
>      }
> @@ -272,8 +268,8 @@ DerivedArgList *Driver::TranslateInputAr
>      DAL->append(A);
>    }
>
> -  // Add a default value of -mlinker-version=, if one was given and the
> user
> -  // didn't specify one.
> +// Add a default value of -mlinker-version=, if one was given and the user
> +// didn't specify one.
>  #if defined(HOST_LINK_VERSION)
>    if (!Args.hasArg(options::OPT_mlinker_version_EQ) &&
>        strlen(HOST_LINK_VERSION) > 0) {
> @@ -295,8 +291,8 @@ Compilation *Driver::BuildCompilation(Ar
>    if (char *env = ::getenv("COMPILER_PATH")) {
>      StringRef CompilerPath = env;
>      while (!CompilerPath.empty()) {
> -      std::pair<StringRef, StringRef> Split
> -        = CompilerPath.split(llvm::sys::EnvPathSeparator);
> +      std::pair<StringRef, StringRef> Split =
> +          CompilerPath.split(llvm::sys::EnvPathSeparator);
>        PrefixDirs.push_back(Split.first);
>        CompilerPath = Split.second;
>      }
> @@ -387,8 +383,8 @@ Compilation *Driver::BuildCompilation(Ar
>    // Construct the list of abstract actions to perform for this
> compilation. On
>    // MachO targets this uses the driver-driver and universal actions.
>    if (TC.getTriple().isOSBinFormatMachO())
> -    BuildUniversalActions(C->getDefaultToolChain(), C->getArgs(),
> -                          Inputs, C->getActions());
> +    BuildUniversalActions(C->getDefaultToolChain(), C->getArgs(), Inputs,
> +                          C->getActions());
>    else
>      BuildActions(C->getDefaultToolChain(), C->getArgs(), Inputs,
>                   C->getActions());
> @@ -420,8 +416,8 @@ void Driver::generateCompilationDiagnost
>    PrintVersion(C, llvm::errs());
>
>    Diag(clang::diag::note_drv_command_failed_diag_msg)
> -    << "PLEASE submit a bug report to " BUG_REPORT_URL " and include the "
> -    "crash backtrace, preprocessed source, and associated run script.";
> +      << "PLEASE submit a bug report to " BUG_REPORT_URL " and include
> the "
> +         "crash backtrace, preprocessed source, and associated run
> script.";
>
>    // Suppress driver output and emit preprocessor output to temp file.
>    Mode = CPPMode;
> @@ -446,12 +442,12 @@ void Driver::generateCompilationDiagnost
>
>      // Ignore input from stdin or any inputs that cannot be preprocessed.
>      // Check type first as not all linker inputs have a value.
> -   if (types::getPreprocessedType(it->first) == types::TY_INVALID) {
> +    if (types::getPreprocessedType(it->first) == types::TY_INVALID) {
>        IgnoreInput = true;
>      } else if (!strcmp(it->second->getValue(), "-")) {
>        Diag(clang::diag::note_drv_command_failed_diag_msg)
> -        << "Error generating preprocessed source(s) - ignoring input from
> stdin"
> -        ".";
> +          << "Error generating preprocessed source(s) - "
> +             "ignoring input from stdin.";
>        IgnoreInput = true;
>      }
>
> @@ -465,7 +461,8 @@ void Driver::generateCompilationDiagnost
>
>    if (Inputs.empty()) {
>      Diag(clang::diag::note_drv_command_failed_diag_msg)
> -      << "Error generating preprocessed source(s) - no preprocessable
> inputs.";
> +        << "Error generating preprocessed source(s) - "
> +           "no preprocessable inputs.";
>      return;
>    }
>
> @@ -480,8 +477,8 @@ void Driver::generateCompilationDiagnost
>    }
>    if (ArchNames.size() > 1) {
>      Diag(clang::diag::note_drv_command_failed_diag_msg)
> -      << "Error generating preprocessed source(s) - cannot generate "
> -      "preprocessed source with multiple -arch options.";
> +        << "Error generating preprocessed source(s) - cannot generate "
> +           "preprocessed source with multiple -arch options.";
>      return;
>    }
>
> @@ -498,7 +495,7 @@ void Driver::generateCompilationDiagnost
>    // If there were errors building the compilation, quit now.
>    if (Trap.hasErrorOccurred()) {
>      Diag(clang::diag::note_drv_command_failed_diag_msg)
> -      << "Error generating preprocessed source(s).";
> +        << "Error generating preprocessed source(s).";
>      return;
>    }
>
> @@ -512,14 +509,14 @@ void Driver::generateCompilationDiagnost
>        C.CleanupFileList(C.getTempFiles(), true);
>
>      Diag(clang::diag::note_drv_command_failed_diag_msg)
> -      << "Error generating preprocessed source(s).";
> +        << "Error generating preprocessed source(s).";
>      return;
>    }
>
>    const ArgStringList &TempFiles = C.getTempFiles();
>    if (TempFiles.empty()) {
>      Diag(clang::diag::note_drv_command_failed_diag_msg)
> -      << "Error generating preprocessed source(s).";
> +        << "Error generating preprocessed source(s).";
>      return;
>    }
>
> @@ -583,12 +580,13 @@ void Driver::setUpResponseFiles(Compilat
>      return;
>
>    std::string TmpName = GetTemporaryPath("response", "txt");
> -  CurCommand->setResponseFile(C.addTempFile(C.getArgs().MakeArgString(
> -      TmpName.c_str())));
> +  CurCommand->setResponseFile(
> +      C.addTempFile(C.getArgs().MakeArgString(TmpName.c_str())));
>  }
>
> -int Driver::ExecuteCompilation(Compilation &C,
> -    SmallVectorImpl< std::pair<int, const Command *> > &FailingCommands) {
> +int Driver::ExecuteCompilation(
> +    Compilation &C,
> +    SmallVectorImpl<std::pair<int, const Command *>> &FailingCommands) {
>    // Just print if -### was present.
>    if (C.getArgs().hasArg(options::OPT__HASH_HASH_HASH)) {
>      C.getJobs().Print(llvm::errs(), "\n", true);
> @@ -640,10 +638,10 @@ int Driver::ExecuteCompilation(Compilati
>        // FIXME: See FIXME above regarding result code interpretation.
>        if (Res < 0)
>          Diag(clang::diag::err_drv_command_signalled)
> -          << FailingTool.getShortName();
> +            << FailingTool.getShortName();
>        else
> -        Diag(clang::diag::err_drv_command_failed)
> -          << FailingTool.getShortName() << Res;
> +        Diag(clang::diag::err_drv_command_failed) <<
> FailingTool.getShortName()
> +                                                  << Res;
>      }
>    }
>    return 0;
> @@ -653,7 +651,7 @@ void Driver::PrintHelp(bool ShowHidden)
>    unsigned IncludedFlagsBitmask;
>    unsigned ExcludedFlagsBitmask;
>    std::tie(IncludedFlagsBitmask, ExcludedFlagsBitmask) =
> -    getIncludeExcludeOptionFlagMasks();
> +      getIncludeExcludeOptionFlagMasks();
>
>    ExcludedFlagsBitmask |= options::NoDriverOption;
>    if (!ShowHidden)
> @@ -684,8 +682,8 @@ void Driver::PrintVersion(const Compilat
>  /// option.
>  static void PrintDiagnosticCategories(raw_ostream &OS) {
>    // Skip the empty category.
> -  for (unsigned i = 1, max = DiagnosticIDs::getNumberOfCategories();
> -       i != max; ++i)
> +  for (unsigned i = 1, max = DiagnosticIDs::getNumberOfCategories(); i !=
> max;
> +       ++i)
>      OS << i << ',' << DiagnosticIDs::getCategoryNameFromID(i) << '\n';
>  }
>
> @@ -741,7 +739,8 @@ bool Driver::HandleImmediateArgs(const C
>      llvm::outs() << "programs: =";
>      bool separator = false;
>      for (const std::string &Path : TC.getProgramPaths()) {
> -      if (separator) llvm::outs() << ':';
> +      if (separator)
> +        llvm::outs() << ':';
>        llvm::outs() << Path;
>        separator = true;
>      }
> @@ -817,7 +816,7 @@ bool Driver::HandleImmediateArgs(const C
>  // and latest-occuring action. Traversal is in pre-order, visiting the
>  // inputs to each action before printing the action itself.
>  static unsigned PrintActions1(const Compilation &C, Action *A,
> -                              std::map<Action*, unsigned> &Ids) {
> +                              std::map<Action *, unsigned> &Ids) {
>    if (Ids.count(A)) // A was already visited.
>      return Ids[A];
>
> @@ -858,8 +857,7 @@ void Driver::PrintActions(const Compilat
>  /// \brief Check whether the given input tree contains any compilation or
>  /// assembly actions.
>  static bool ContainsCompileOrAssembleAction(const Action *A) {
> -  if (isa<CompileJobAction>(A) ||
> -      isa<BackendJobAction>(A) ||
> +  if (isa<CompileJobAction>(A) || isa<BackendJobAction>(A) ||
>        isa<AssembleJobAction>(A))
>      return true;
>
> @@ -870,8 +868,7 @@ static bool ContainsCompileOrAssembleAct
>    return false;
>  }
>
> -void Driver::BuildUniversalActions(const ToolChain &TC,
> -                                   DerivedArgList &Args,
> +void Driver::BuildUniversalActions(const ToolChain &TC, DerivedArgList
> &Args,
>                                     const InputList &BAInputs,
>                                     ActionList &Actions) const {
>    llvm::PrettyStackTraceString CrashInfo("Building universal build
> actions");
> @@ -884,10 +881,9 @@ void Driver::BuildUniversalActions(const
>        // Validate the option here; we don't save the type here because its
>        // particular spelling may participate in other driver choices.
>        llvm::Triple::ArchType Arch =
> -        tools::darwin::getArchTypeForMachOArchName(A->getValue());
> +          tools::darwin::getArchTypeForMachOArchName(A->getValue());
>        if (Arch == llvm::Triple::UnknownArch) {
> -        Diag(clang::diag::err_drv_invalid_arch_name)
> -          << A->getAsString(Args);
> +        Diag(clang::diag::err_drv_invalid_arch_name) <<
> A->getAsString(Args);
>          continue;
>        }
>
> @@ -918,7 +914,7 @@ void Driver::BuildUniversalActions(const
>
>      if (Archs.size() > 1 && !types::canLipoType(Act->getType()))
>        Diag(clang::diag::err_drv_invalid_output_with_multiple_archs)
> -        << types::getTypeName(Act->getType());
> +          << types::getTypeName(Act->getType());
>
>      ActionList Inputs;
>      for (unsigned i = 0, e = Archs.size(); i != e; ++i) {
> @@ -1008,10 +1004,11 @@ void Driver::BuildInputs(const ToolChain
>                                           options::OPT__SLASH_TP)) {
>      InputTypeArg = TCTP;
>      InputType = TCTP->getOption().matches(options::OPT__SLASH_TC)
> -        ? types::TY_C : types::TY_CXX;
> +                    ? types::TY_C
> +                    : types::TY_CXX;
>
> -    arg_iterator it = Args.filtered_begin(options::OPT__SLASH_TC,
> -                                          options::OPT__SLASH_TP);
> +    arg_iterator it =
> +        Args.filtered_begin(options::OPT__SLASH_TC,
> options::OPT__SLASH_TP);
>      const arg_iterator ie = Args.filtered_end();
>      Arg *Previous = *it++;
>      bool ShowNote = false;
> @@ -1073,7 +1070,7 @@ void Driver::BuildInputs(const ToolChain
>
>              if (Ty != OldTy)
>                Diag(clang::diag::warn_drv_treating_input_as_cxx)
> -                << getTypeName(OldTy) << getTypeName(Ty);
> +                  << getTypeName(OldTy) << getTypeName(Ty);
>            }
>          }
>
> @@ -1175,7 +1172,7 @@ void Driver::BuildActions(const ToolChai
>          !llvm::sys::path::is_separator(V.back())) {
>        // Check whether /Fo tries to name an output file for multiple
> inputs.
>        Diag(clang::diag::err_drv_out_file_argument_with_multiple_sources)
> -        << A->getSpelling() << V;
> +          << A->getSpelling() << V;
>        Args.eraseArg(options::OPT__SLASH_Fo);
>      }
>    }
> @@ -1187,7 +1184,7 @@ void Driver::BuildActions(const ToolChai
>          !llvm::sys::path::is_separator(V.back())) {
>        // Check whether /Fa tries to name an asm file for multiple inputs.
>        Diag(clang::diag::err_drv_out_file_argument_with_multiple_sources)
> -        << A->getSpelling() << V;
> +          << A->getSpelling() << V;
>        Args.eraseArg(options::OPT__SLASH_Fa);
>      }
>    }
> @@ -1227,30 +1224,27 @@ void Driver::BuildActions(const ToolChai
>        // by a command-line argument with a corresponding Arg.
>        if (CCCIsCPP())
>          Diag(clang::diag::warn_drv_input_file_unused_by_cpp)
> -          << InputArg->getAsString(Args)
> -          << getPhaseName(InitialPhase);
> +            << InputArg->getAsString(Args) << getPhaseName(InitialPhase);
>        // Special case '-E' warning on a previously preprocessed file to
> make
>        // more sense.
>        else if (InitialPhase == phases::Compile &&
>                 FinalPhase == phases::Preprocess &&
>                 getPreprocessedType(InputType) == types::TY_INVALID)
>          Diag(clang::diag::warn_drv_preprocessed_input_file_unused)
> -          << InputArg->getAsString(Args)
> -          << !!FinalPhaseArg
> -          << (FinalPhaseArg ? FinalPhaseArg->getOption().getName() : "");
> +            << InputArg->getAsString(Args) << !!FinalPhaseArg
> +            << (FinalPhaseArg ? FinalPhaseArg->getOption().getName() :
> "");
>        else
>          Diag(clang::diag::warn_drv_input_file_unused)
> -          << InputArg->getAsString(Args)
> -          << getPhaseName(InitialPhase)
> -          << !!FinalPhaseArg
> -          << (FinalPhaseArg ? FinalPhaseArg->getOption().getName() : "");
> +            << InputArg->getAsString(Args) << getPhaseName(InitialPhase)
> +            << !!FinalPhaseArg
> +            << (FinalPhaseArg ? FinalPhaseArg->getOption().getName() :
> "");
>        continue;
>      }
>
>      // Build the pipeline for this file.
>      std::unique_ptr<Action> Current(new InputAction(*InputArg,
> InputType));
> -    for (SmallVectorImpl<phases::ID>::iterator
> -           i = PL.begin(), e = PL.end(); i != e; ++i) {
> +    for (SmallVectorImpl<phases::ID>::iterator i = PL.begin(), e =
> PL.end();
> +         i != e; ++i) {
>        phases::ID Phase = *i;
>
>        // We are done if this step is past what the user requested.
> @@ -1303,7 +1297,8 @@ Driver::ConstructPhaseAction(const ToolC
>    llvm::PrettyStackTraceString CrashInfo("Constructing phase actions");
>    // Build the appropriate action.
>    switch (Phase) {
> -  case phases::Link: llvm_unreachable("link action invalid here.");
> +  case phases::Link:
> +    llvm_unreachable("link action invalid here.");
>    case phases::Preprocess: {
>      types::ID OutputTy;
>      // -{M, MM} alter the output type.
> @@ -1359,12 +1354,12 @@ Driver::ConstructPhaseAction(const ToolC
>    case phases::Backend: {
>      if (IsUsingLTO(Args)) {
>        types::ID Output =
> -        Args.hasArg(options::OPT_S) ? types::TY_LTO_IR : types::TY_LTO_BC;
> +          Args.hasArg(options::OPT_S) ? types::TY_LTO_IR :
> types::TY_LTO_BC;
>        return llvm::make_unique<BackendJobAction>(std::move(Input),
> Output);
>      }
>      if (Args.hasArg(options::OPT_emit_llvm)) {
>        types::ID Output =
> -        Args.hasArg(options::OPT_S) ? types::TY_LLVM_IR :
> types::TY_LLVM_BC;
> +          Args.hasArg(options::OPT_S) ? types::TY_LLVM_IR :
> types::TY_LLVM_BC;
>        return llvm::make_unique<BackendJobAction>(std::move(Input),
> Output);
>      }
>      return llvm::make_unique<BackendJobAction>(std::move(Input),
> @@ -1425,11 +1420,10 @@ void Driver::BuildJobs(Compilation &C) c
>
>      InputInfo II;
>      BuildJobsForAction(C, A, &C.getDefaultToolChain(),
> -                       /*BoundArch*/nullptr,
> +                       /*BoundArch*/ nullptr,
>                         /*AtTopLevel*/ true,
>                         /*MultipleArchs*/ ArchNames.size() > 1,
> -                       /*LinkingOutput*/ LinkingOutput,
> -                       II);
> +                       /*LinkingOutput*/ LinkingOutput, II);
>    }
>
>    // If the user passed -Qunused-arguments or there were errors, don't
> warn
> @@ -1439,10 +1433,10 @@ void Driver::BuildJobs(Compilation &C) c
>      return;
>
>    // Claim -### here.
> -  (void) C.getArgs().hasArg(options::OPT__HASH_HASH_HASH);
> +  (void)C.getArgs().hasArg(options::OPT__HASH_HASH_HASH);
>
>    // Claim --driver-mode, it was handled earlier.
> -  (void) C.getArgs().hasArg(options::OPT_driver_mode);
> +  (void)C.getArgs().hasArg(options::OPT_driver_mode);
>
>    for (Arg *A : C.getArgs()) {
>      // FIXME: It would be nice to be able to send the argument to the
> @@ -1470,7 +1464,7 @@ void Driver::BuildJobs(Compilation &C) c
>        }
>
>        Diag(clang::diag::warn_drv_unused_argument)
> -        << A->getAsString(C.getArgs());
> +          << A->getAsString(C.getArgs());
>      }
>    }
>  }
> @@ -1484,13 +1478,12 @@ static const Tool *SelectToolForJob(Comp
>    // bottom up, so what we are actually looking for is an assembler job
> with a
>    // compiler input.
>
> -  if (TC->useIntegratedAs() &&
> -      !SaveTemps &&
> +  if (TC->useIntegratedAs() && !SaveTemps &&
>        !C.getArgs().hasArg(options::OPT_via_file_asm) &&
>        !C.getArgs().hasArg(options::OPT__SLASH_FA) &&
>        !C.getArgs().hasArg(options::OPT__SLASH_Fa) &&
> -      isa<AssembleJobAction>(JA) &&
> -      Inputs->size() == 1 && isa<BackendJobAction>(*Inputs->begin())) {
> +      isa<AssembleJobAction>(JA) && Inputs->size() == 1 &&
> +      isa<BackendJobAction>(*Inputs->begin())) {
>      // A BackendJob is always preceded by a CompileJob, and without
>      // -save-temps they will always get combined together, so instead of
>      // checking the backend tool, check if the tool for the CompileJob
> @@ -1531,8 +1524,7 @@ static const Tool *SelectToolForJob(Comp
>    // (irrelevant since we don't support combine yet).
>    if (Inputs->size() == 1 && isa<PreprocessJobAction>(*Inputs->begin()) &&
>        !C.getArgs().hasArg(options::OPT_no_integrated_cpp) &&
> -      !C.getArgs().hasArg(options::OPT_traditional_cpp) &&
> -      !SaveTemps &&
> +      !C.getArgs().hasArg(options::OPT_traditional_cpp) && !SaveTemps &&
>        !C.getArgs().hasArg(options::OPT_rewrite_objc) &&
>        ToolForJob->hasIntegratedCPP())
>      Inputs = &(*Inputs)[0]->getInputs();
> @@ -1540,12 +1532,9 @@ static const Tool *SelectToolForJob(Comp
>    return ToolForJob;
>  }
>
> -void Driver::BuildJobsForAction(Compilation &C,
> -                                const Action *A,
> -                                const ToolChain *TC,
> -                                const char *BoundArch,
> -                                bool AtTopLevel,
> -                                bool MultipleArchs,
> +void Driver::BuildJobsForAction(Compilation &C, const Action *A,
> +                                const ToolChain *TC, const char
> *BoundArch,
> +                                bool AtTopLevel, bool MultipleArchs,
>                                  const char *LinkingOutput,
>                                  InputInfo &Result) const {
>    llvm::PrettyStackTraceString CrashInfo("Building compilation jobs");
> @@ -1573,8 +1562,8 @@ void Driver::BuildJobsForAction(Compilat
>      else
>        TC = &C.getDefaultToolChain();
>
> -    BuildJobsForAction(C, *BAA->begin(), TC, BAA->getArchName(),
> -                       AtTopLevel, MultipleArchs, LinkingOutput, Result);
> +    BuildJobsForAction(C, *BAA->begin(), TC, BAA->getArchName(),
> AtTopLevel,
> +                       MultipleArchs, LinkingOutput, Result);
>      return;
>    }
>
> @@ -1642,7 +1631,8 @@ const char *Driver::getDefaultImageName(
>  /// does not provide a filename, then use BaseName, and use the extension
>  /// suitable for FileType.
>  static const char *MakeCLOutputFilename(const ArgList &Args, StringRef
> ArgValue,
> -                                        StringRef BaseName, types::ID
> FileType) {
> +                                        StringRef BaseName,
> +                                        types::ID FileType) {
>    SmallString<128> Filename = ArgValue;
>
>    if (ArgValue.empty()) {
> @@ -1669,16 +1659,13 @@ static const char *MakeCLOutputFilename(
>    return Args.MakeArgString(Filename.c_str());
>  }
>
> -const char *Driver::GetNamedOutputPath(Compilation &C,
> -                                       const JobAction &JA,
> +const char *Driver::GetNamedOutputPath(Compilation &C, const JobAction
> &JA,
>                                         const char *BaseInput,
> -                                       const char *BoundArch,
> -                                       bool AtTopLevel,
> +                                       const char *BoundArch, bool
> AtTopLevel,
>                                         bool MultipleArchs) const {
>    llvm::PrettyStackTraceString CrashInfo("Computing output path");
>    // Output to a user requested destination?
> -  if (AtTopLevel && !isa<DsymutilJobAction>(JA) &&
> -      !isa<VerifyJobAction>(JA)) {
> +  if (AtTopLevel && !isa<DsymutilJobAction>(JA) &&
> !isa<VerifyJobAction>(JA)) {
>      if (Arg *FinalOutput = C.getArgs().getLastArg(options::OPT_o))
>        return C.addResultFile(FinalOutput->getValue(), &JA);
>    }
> @@ -1690,8 +1677,9 @@ const char *Driver::GetNamedOutputPath(C
>      StringRef NameArg;
>      if (Arg *A = C.getArgs().getLastArg(options::OPT__SLASH_Fi))
>        NameArg = A->getValue();
> -    return C.addResultFile(MakeCLOutputFilename(C.getArgs(), NameArg,
> BaseName,
> -                                                types::TY_PP_C), &JA);
> +    return C.addResultFile(
> +        MakeCLOutputFilename(C.getArgs(), NameArg, BaseName,
> types::TY_PP_C),
> +        &JA);
>    }
>
>    // Default to writing to stdout?
> @@ -1706,19 +1694,19 @@ const char *Driver::GetNamedOutputPath(C
>      // Use /Fa and the input filename to determine the asm file name.
>      StringRef BaseName = llvm::sys::path::filename(BaseInput);
>      StringRef FaValue =
> C.getArgs().getLastArgValue(options::OPT__SLASH_Fa);
> -    return C.addResultFile(MakeCLOutputFilename(C.getArgs(), FaValue,
> BaseName,
> -                                                JA.getType()), &JA);
> +    return C.addResultFile(
> +        MakeCLOutputFilename(C.getArgs(), FaValue, BaseName,
> JA.getType()),
> +        &JA);
>    }
>
>    // Output to a temporary file?
>    if ((!AtTopLevel && !isSaveTempsEnabled() &&
> -        !C.getArgs().hasArg(options::OPT__SLASH_Fo)) ||
> +       !C.getArgs().hasArg(options::OPT__SLASH_Fo)) ||
>        CCGenDiagnostics) {
>      StringRef Name = llvm::sys::path::filename(BaseInput);
>      std::pair<StringRef, StringRef> Split = Name.split('.');
> -    std::string TmpName =
> -      GetTemporaryPath(Split.first,
> -          types::getTypeTempSuffix(JA.getType(), IsCLMode()));
> +    std::string TmpName = GetTemporaryPath(
> +        Split.first, types::getTypeTempSuffix(JA.getType(), IsCLMode()));
>      return C.addTempFile(C.getArgs().MakeArgString(TmpName.c_str()));
>    }
>
> @@ -1737,22 +1725,27 @@ const char *Driver::GetNamedOutputPath(C
>    if (JA.getType() == types::TY_Object &&
>        C.getArgs().hasArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)) {
>      // The /Fo or /o flag decides the object filename.
> -    StringRef Val = C.getArgs().getLastArg(options::OPT__SLASH_Fo,
> -
>  options::OPT__SLASH_o)->getValue();
> -    NamedOutput = MakeCLOutputFilename(C.getArgs(), Val, BaseName,
> -                                       types::TY_Object);
> +    StringRef Val =
> +        C.getArgs()
> +            .getLastArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)
> +            ->getValue();
> +    NamedOutput =
> +        MakeCLOutputFilename(C.getArgs(), Val, BaseName,
> types::TY_Object);
>    } else if (JA.getType() == types::TY_Image &&
> -             C.getArgs().hasArg(options::OPT__SLASH_Fe,
> options::OPT__SLASH_o)) {
> +             C.getArgs().hasArg(options::OPT__SLASH_Fe,
> +                                options::OPT__SLASH_o)) {
>      // The /Fe or /o flag names the linked file.
> -    StringRef Val = C.getArgs().getLastArg(options::OPT__SLASH_Fe,
> -
>  options::OPT__SLASH_o)->getValue();
> -    NamedOutput = MakeCLOutputFilename(C.getArgs(), Val, BaseName,
> -                                       types::TY_Image);
> +    StringRef Val =
> +        C.getArgs()
> +            .getLastArg(options::OPT__SLASH_Fe, options::OPT__SLASH_o)
> +            ->getValue();
> +    NamedOutput =
> +        MakeCLOutputFilename(C.getArgs(), Val, BaseName, types::TY_Image);
>    } else if (JA.getType() == types::TY_Image) {
>      if (IsCLMode()) {
>        // clang-cl uses BaseName for the executable name.
> -      NamedOutput = MakeCLOutputFilename(C.getArgs(), "", BaseName,
> -                                         types::TY_Image);
> +      NamedOutput =
> +          MakeCLOutputFilename(C.getArgs(), "", BaseName,
> types::TY_Image);
>      } else if (MultipleArchs && BoundArch) {
>        SmallString<128> Output(getDefaultImageName());
>        Output += "-";
> @@ -1806,9 +1799,8 @@ const char *Driver::GetNamedOutputPath(C
>      if (SameFile) {
>        StringRef Name = llvm::sys::path::filename(BaseInput);
>        std::pair<StringRef, StringRef> Split = Name.split('.');
> -      std::string TmpName =
> -        GetTemporaryPath(Split.first,
> -            types::getTypeTempSuffix(JA.getType(), IsCLMode()));
> +      std::string TmpName = GetTemporaryPath(
> +          Split.first, types::getTypeTempSuffix(JA.getType(),
> IsCLMode()));
>        return C.addTempFile(C.getArgs().MakeArgString(TmpName.c_str()));
>      }
>    }
> @@ -1855,9 +1847,9 @@ std::string Driver::GetFilePath(const ch
>    return Name;
>  }
>
> -void
> -Driver::generatePrefixedToolNames(const char *Tool, const ToolChain &TC,
> -                                  SmallVectorImpl<std::string> &Names)
> const {
> +void Driver::generatePrefixedToolNames(
> +    const char *Tool, const ToolChain &TC,
> +    SmallVectorImpl<std::string> &Names) const {
>    // FIXME: Needs a better variable than DefaultTargetTriple
>    Names.emplace_back(DefaultTargetTriple + "-" + Tool);
>    Names.emplace_back(Tool);
> @@ -1909,8 +1901,8 @@ std::string Driver::GetProgramPath(const
>    return Name;
>  }
>
> -std::string Driver::GetTemporaryPath(StringRef Prefix, const char *Suffix)
> -  const {
> +std::string Driver::GetTemporaryPath(StringRef Prefix,
> +                                     const char *Suffix) const {
>    SmallString<128> Path;
>    std::error_code EC = llvm::sys::fs::createTemporaryFile(Prefix, Suffix,
> Path);
>    if (EC) {
> @@ -1984,7 +1976,7 @@ static llvm::Triple computeTargetTriple(
>        if (Target.getEnvironment() == llvm::Triple::GNUX32)
>          Target.setEnvironment(llvm::Triple::GNU);
>      } else if (A->getOption().matches(options::OPT_mx32) &&
> -             Target.get64BitArchVariant().getArch() ==
> llvm::Triple::x86_64) {
> +               Target.get64BitArchVariant().getArch() ==
> llvm::Triple::x86_64) {
>        AT = llvm::Triple::x86_64;
>        Target.setEnvironment(llvm::Triple::GNUX32);
>      } else if (A->getOption().matches(options::OPT_m32)) {
> @@ -1992,7 +1984,7 @@ static llvm::Triple computeTargetTriple(
>        if (Target.getEnvironment() == llvm::Triple::GNUX32)
>          Target.setEnvironment(llvm::Triple::GNU);
>      } else if (A->getOption().matches(options::OPT_m16) &&
> -             Target.get32BitArchVariant().getArch() == llvm::Triple::x86)
> {
> +               Target.get32BitArchVariant().getArch() ==
> llvm::Triple::x86) {
>        AT = llvm::Triple::x86;
>        Target.setEnvironment(llvm::Triple::CODE16);
>      }
> @@ -2102,8 +2094,7 @@ const ToolChain &Driver::getToolChain(co
>
>  bool Driver::ShouldUseClangCompiler(const JobAction &JA) const {
>    // Say "no" if there is not exactly one input of a type clang
> understands.
> -  if (JA.size() != 1 ||
> -      !types::isAcceptedByClang((*JA.begin())->getType()))
> +  if (JA.size() != 1 ||
> !types::isAcceptedByClang((*JA.begin())->getType()))
>      return false;
>
>    // And say "no" if this is not a kind of action clang understands.
> @@ -2129,21 +2120,21 @@ bool Driver::GetReleaseVersion(const cha
>      return false;
>
>    char *End;
> -  Major = (unsigned) strtol(Str, &End, 10);
> +  Major = (unsigned)strtol(Str, &End, 10);
>    if (*Str != '\0' && *End == '\0')
>      return true;
>    if (*End != '.')
>      return false;
>
> -  Str = End+1;
> -  Minor = (unsigned) strtol(Str, &End, 10);
> +  Str = End + 1;
> +  Minor = (unsigned)strtol(Str, &End, 10);
>    if (*Str != '\0' && *End == '\0')
>      return true;
>    if (*End != '.')
>      return false;
>
> -  Str = End+1;
> -  Micro = (unsigned) strtol(Str, &End, 10);
> +  Str = End + 1;
> +  Micro = (unsigned)strtol(Str, &End, 10);
>    if (*Str != '\0' && *End == '\0')
>      return true;
>    if (Str == End)
>
> Modified: cfe/trunk/lib/Driver/ToolChains.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=240791&r1=240790&r2=240791&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains.cpp Fri Jun 26 10:47:46 2015
> @@ -39,9 +39,8 @@ using namespace clang::driver::toolchain
>  using namespace clang;
>  using namespace llvm::opt;
>
> -MachO::MachO(const Driver &D, const llvm::Triple &Triple,
> -                       const ArgList &Args)
> -  : ToolChain(D, Triple, Args) {
> +MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> +    : ToolChain(D, Triple, Args) {
>    // We expect 'as', 'ld', etc. to be adjacent to our install dir.
>    getProgramPaths().push_back(getDriver().getInstalledDir());
>    if (getDriver().getInstalledDir() != getDriver().Dir)
> @@ -62,9 +61,7 @@ types::ID MachO::LookupTypeForExtension(
>    return Ty;
>  }
>
> -bool MachO::HasNativeLLVMSupport() const {
> -  return true;
> -}
> +bool MachO::HasNativeLLVMSupport() const { return true; }
>
>  /// Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0.
>  ObjCRuntime Darwin::getDefaultObjCRuntime(bool isNonFragile) const {
> @@ -90,20 +87,20 @@ bool Darwin::hasBlocksRuntime() const {
>  // other assumptions. Maybe MachO should consider standardising
>  // their nomenclature.
>  static const char *ArmMachOArchName(StringRef Arch) {
> -  return llvm::StringSwitch<const char*>(Arch)
> -    .Case("armv6k", "armv6")
> -    .Case("armv6m", "armv6m")
> -    .Case("armv5tej", "armv5")
> -    .Case("xscale", "xscale")
> -    .Case("armv4t", "armv4t")
> -    .Case("armv7", "armv7")
> -    .Cases("armv7a", "armv7-a", "armv7")
> -    .Cases("armv7r", "armv7-r", "armv7")
> -    .Cases("armv7em", "armv7e-m", "armv7em")
> -    .Cases("armv7k", "armv7-k", "armv7k")
> -    .Cases("armv7m", "armv7-m", "armv7m")
> -    .Cases("armv7s", "armv7-s", "armv7s")
> -    .Default(nullptr);
> +  return llvm::StringSwitch<const char *>(Arch)
> +      .Case("armv6k", "armv6")
> +      .Case("armv6m", "armv6m")
> +      .Case("armv5tej", "armv5")
> +      .Case("xscale", "xscale")
> +      .Case("armv4t", "armv4t")
> +      .Case("armv7", "armv7")
> +      .Cases("armv7a", "armv7-a", "armv7")
> +      .Cases("armv7r", "armv7-r", "armv7")
> +      .Cases("armv7em", "armv7e-m", "armv7em")
> +      .Cases("armv7k", "armv7-k", "armv7k")
> +      .Cases("armv7m", "armv7-m", "armv7m")
> +      .Cases("armv7s", "armv7-s", "armv7s")
> +      .Default(nullptr);
>  }
>
>  static const char *ArmMachOArchNameCPU(StringRef CPU) {
> @@ -159,15 +156,12 @@ StringRef MachO::getMachOArchName(const
>    }
>  }
>
> -Darwin::~Darwin() {
> -}
> -
> -MachO::~MachO() {
> -}
> +Darwin::~Darwin() {}
>
> +MachO::~MachO() {}
>
>  std::string MachO::ComputeEffectiveClangTriple(const ArgList &Args,
> -                                                    types::ID InputType)
> const {
> +                                               types::ID InputType) const
> {
>    llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
>
>    return Triple.getTriple();
> @@ -305,7 +299,7 @@ void MachO::AddLinkRuntimeLib(const ArgL
>  }
>
>  void Darwin::addProfileRTLibs(const ArgList &Args,
> -                             ArgStringList &CmdArgs) const {
> +                              ArgStringList &CmdArgs) const {
>    if (!(Args.hasFlag(options::OPT_fprofile_arcs,
> options::OPT_fno_profile_arcs,
>                       false) ||
>          Args.hasArg(options::OPT_fprofile_generate) ||
> @@ -334,10 +328,11 @@ void DarwinClang::AddLinkSanitizerLibArg
>    }
>    assert(isTargetMacOS() || isTargetIOSSimulator());
>    StringRef OS = isTargetMacOS() ? "osx" : "iossim";
> -  AddLinkRuntimeLib(Args, CmdArgs, (Twine("libclang_rt.") + Sanitizer +
> "_" +
> -                                    OS + "_dynamic.dylib").str(),
> -                    /*AlwaysLink*/ true, /*IsEmbedded*/ false,
> -                    /*AddRPath*/ true);
> +  AddLinkRuntimeLib(
> +      Args, CmdArgs,
> +      (Twine("libclang_rt.") + Sanitizer + "_" + OS +
> "_dynamic.dylib").str(),
> +      /*AlwaysLink*/ true, /*IsEmbedded*/ false,
> +      /*AddRPath*/ true);
>
>    if (GetCXXStdlibType(Args) == ToolChain::CST_Libcxx) {
>      // Add explicit dependcy on -lc++abi, as -lc++ doesn't re-export
> @@ -354,7 +349,7 @@ void DarwinClang::AddLinkRuntimeLibArgs(
>      break;
>    default:
>      getDriver().Diag(diag::err_drv_unsupported_rtlib_for_platform)
> -      << Args.getLastArg(options::OPT_rtlib_EQ)->getValue() << "darwin";
> +        << Args.getLastArg(options::OPT_rtlib_EQ)->getValue() << "darwin";
>      return;
>    }
>
> @@ -369,12 +364,10 @@ void DarwinClang::AddLinkRuntimeLibArgs(
>    // cares. This is useful in situations where someone wants to
> statically link
>    // something like libstdc++, and needs its runtime support routines.
>    if (const Arg *A = Args.getLastArg(options::OPT_static_libgcc)) {
> -    getDriver().Diag(diag::err_drv_unsupported_opt)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_unsupported_opt) <<
> A->getAsString(Args);
>      return;
>    }
>
> -
>    const SanitizerArgs &Sanitize = getSanitizerArgs();
>    if (Sanitize.needsAsanRt())
>      AddLinkSanitizerLibArgs(Args, CmdArgs, "asan");
> @@ -440,7 +433,7 @@ void Darwin::AddDeploymentTarget(Derived
>        if (llvm::sys::path::is_absolute(env) && llvm::sys::fs::exists(env)
> &&
>            StringRef(env) != "/") {
>          Args.append(Args.MakeSeparateArg(
> -                      nullptr, Opts.getOption(options::OPT_isysroot),
> env));
> +            nullptr, Opts.getOption(options::OPT_isysroot), env));
>        }
>      }
>    }
> @@ -450,8 +443,7 @@ void Darwin::AddDeploymentTarget(Derived
>
>    if (OSXVersion && iOSVersion) {
>      getDriver().Diag(diag::err_drv_argument_not_allowed_with)
> -          << OSXVersion->getAsString(Args)
> -          << iOSVersion->getAsString(Args);
> +        << OSXVersion->getAsString(Args) << iOSVersion->getAsString(Args);
>      iOSVersion = nullptr;
>    } else if (!OSXVersion && !iOSVersion) {
>      // If no deployment target was specified on the command line, check
> for
> @@ -547,18 +539,18 @@ void Darwin::AddDeploymentTarget(Derived
>    bool HadExtra;
>    if (Platform == MacOS) {
>      assert(!iOSVersion && "Unknown target platform!");
> -    if (!Driver::GetReleaseVersion(OSXVersion->getValue(), Major, Minor,
> -                                   Micro, HadExtra) || HadExtra ||
> -        Major != 10 || Minor >= 100 || Micro >= 100)
> +    if (!Driver::GetReleaseVersion(OSXVersion->getValue(), Major, Minor,
> Micro,
> +                                   HadExtra) ||
> +        HadExtra || Major != 10 || Minor >= 100 || Micro >= 100)
>        getDriver().Diag(diag::err_drv_invalid_version_number)
> -        << OSXVersion->getAsString(Args);
> +          << OSXVersion->getAsString(Args);
>    } else if (Platform == IPhoneOS) {
>      assert(iOSVersion && "Unknown target platform!");
> -    if (!Driver::GetReleaseVersion(iOSVersion->getValue(), Major, Minor,
> -                                   Micro, HadExtra) || HadExtra ||
> -        Major >= 10 || Minor >= 100 || Micro >= 100)
> +    if (!Driver::GetReleaseVersion(iOSVersion->getValue(), Major, Minor,
> Micro,
> +                                   HadExtra) ||
> +        HadExtra || Major >= 10 || Minor >= 100 || Micro >= 100)
>        getDriver().Diag(diag::err_drv_invalid_version_number)
> -        << iOSVersion->getAsString(Args);
> +          << iOSVersion->getAsString(Args);
>    } else
>      llvm_unreachable("unknown kind of Darwin platform");
>
> @@ -658,10 +650,11 @@ DerivedArgList *MachO::TranslateArgs(con
>        // Skip this argument unless the architecture matches either the
> toolchain
>        // triple arch, or the arch being bound.
>        llvm::Triple::ArchType XarchArch =
> -        tools::darwin::getArchTypeForMachOArchName(A->getValue(0));
> -      if (!(XarchArch == getArch()  ||
> -            (BoundArch && XarchArch ==
> -             tools::darwin::getArchTypeForMachOArchName(BoundArch))))
> +          tools::darwin::getArchTypeForMachOArchName(A->getValue(0));
> +      if (!(XarchArch == getArch() ||
> +            (BoundArch &&
> +             XarchArch ==
> +                 tools::darwin::getArchTypeForMachOArchName(BoundArch))))
>          continue;
>
>        Arg *OriginalArg = A;
> @@ -679,11 +672,11 @@ DerivedArgList *MachO::TranslateArgs(con
>        // like -O4 are going to slip through.
>        if (!XarchArg || Index > Prev + 1) {
>          getDriver().Diag(diag::err_drv_invalid_Xarch_argument_with_args)
> -          << A->getAsString(Args);
> +            << A->getAsString(Args);
>          continue;
>        } else if (XarchArg->getOption().hasFlag(options::DriverOption)) {
>          getDriver().Diag(diag::err_drv_invalid_Xarch_argument_isdriver)
> -          << A->getAsString(Args);
> +            << A->getAsString(Args);
>          continue;
>        }
>
> @@ -708,7 +701,7 @@ DerivedArgList *MachO::TranslateArgs(con
>      // Sob. These is strictly gcc compatible for the time being. Apple
>      // gcc translates options twice, which means that self-expanding
>      // options add duplicates.
> -    switch ((options::ID) A->getOption().getID()) {
> +    switch ((options::ID)A->getOption().getID()) {
>      default:
>        DAL->append(A);
>        break;
> @@ -720,20 +713,19 @@ DerivedArgList *MachO::TranslateArgs(con
>        break;
>
>      case options::OPT_dependency_file:
> -      DAL->AddSeparateArg(A, Opts.getOption(options::OPT_MF),
> -                          A->getValue());
> +      DAL->AddSeparateArg(A, Opts.getOption(options::OPT_MF),
> A->getValue());
>        break;
>
>      case options::OPT_gfull:
>        DAL->AddFlagArg(A, Opts.getOption(options::OPT_g_Flag));
> -      DAL->AddFlagArg(A,
> -
>  Opts.getOption(options::OPT_fno_eliminate_unused_debug_symbols));
> +      DAL->AddFlagArg(
> +          A,
> Opts.getOption(options::OPT_fno_eliminate_unused_debug_symbols));
>        break;
>
>      case options::OPT_gused:
>        DAL->AddFlagArg(A, Opts.getOption(options::OPT_g_Flag));
> -      DAL->AddFlagArg(A,
> -
>  Opts.getOption(options::OPT_feliminate_unused_debug_symbols));
> +      DAL->AddFlagArg(
> +          A,
> Opts.getOption(options::OPT_feliminate_unused_debug_symbols));
>        break;
>
>      case options::OPT_shared:
> @@ -754,8 +746,8 @@ DerivedArgList *MachO::TranslateArgs(con
>        break;
>
>      case options::OPT_Wno_nonportable_cfstrings:
> -      DAL->AddFlagArg(A,
> -
>  Opts.getOption(options::OPT_mno_warn_nonportable_cfstrings));
> +      DAL->AddFlagArg(
> +          A, Opts.getOption(options::OPT_mno_warn_nonportable_cfstrings));
>        break;
>
>      case options::OPT_fpascal_strings:
> @@ -871,7 +863,6 @@ void MachO::AddLinkRuntimeLibArgs(const
>    AddLinkRuntimeLib(Args, CmdArgs, CompilerRT, false, true);
>  }
>
> -
>  DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
>                                        const char *BoundArch) const {
>    // First get the generic Apple args, before moving onto Darwin-specific
> ones.
> @@ -892,7 +883,7 @@ DerivedArgList *Darwin::TranslateArgs(co
>    // but we can't check the deployment target in the translation code
> until
>    // it is set here.
>    if (isTargetIOSBased() && !isIPhoneOSVersionLT(6, 0)) {
> -    for (ArgList::iterator it = DAL->begin(), ie = DAL->end(); it != ie;
> ) {
> +    for (ArgList::iterator it = DAL->begin(), ie = DAL->end(); it != ie;)
> {
>        Arg *A = *it;
>        ++it;
>        if (A->getOption().getID() != options::OPT_mkernel &&
> @@ -924,8 +915,7 @@ DerivedArgList *Darwin::TranslateArgs(co
>        where = "iOS 5.0";
>
>      if (where != StringRef()) {
> -      getDriver().Diag(clang::diag::err_drv_invalid_libcxx_deployment)
> -        << where;
> +      getDriver().Diag(clang::diag::err_drv_invalid_libcxx_deployment) <<
> where;
>      }
>    }
>
> @@ -948,13 +938,9 @@ bool Darwin::UseSjLjExceptions() const {
>            getTriple().getArch() == llvm::Triple::thumb);
>  }
>
> -bool MachO::isPICDefault() const {
> -  return true;
> -}
> +bool MachO::isPICDefault() const { return true; }
>
> -bool MachO::isPIEDefault() const {
> -  return false;
> -}
> +bool MachO::isPIEDefault() const { return false; }
>
>  bool MachO::isPICDefaultForced() const {
>    return (getArch() == llvm::Triple::x86_64 ||
> @@ -1068,12 +1054,10 @@ void Darwin::addStartObjectFileArgs(cons
>    }
>  }
>
> -bool Darwin::SupportsObjCGC() const {
> -  return isTargetMacOS();
> -}
> +bool Darwin::SupportsObjCGC() const { return isTargetMacOS(); }
>
>  void Darwin::CheckObjCARC() const {
> -  if (isTargetIOSBased()|| (isTargetMacOS() && !isMacosxVersionLT(10, 6)))
> +  if (isTargetIOSBased() || (isTargetMacOS() && !isMacosxVersionLT(10,
> 6)))
>      return;
>    getDriver().Diag(diag::err_arc_unsupported_on_toolchain);
>  }
> @@ -1099,17 +1083,15 @@ SanitizerMask Darwin::getSupportedSaniti
>  /// This is the primary means of forming GCCVersion objects.
>  /*static*/
>  Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
> -  const GCCVersion BadVersion = { VersionText.str(), -1, -1, -1, "", "",
> "" };
> +  const GCCVersion BadVersion = {VersionText.str(), -1, -1, -1, "", "",
> ""};
>    std::pair<StringRef, StringRef> First = VersionText.split('.');
>    std::pair<StringRef, StringRef> Second = First.second.split('.');
>
> -  GCCVersion GoodVersion = { VersionText.str(), -1, -1, -1, "", "", "" };
> -  if (First.first.getAsInteger(10, GoodVersion.Major) ||
> -      GoodVersion.Major < 0)
> +  GCCVersion GoodVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
> +  if (First.first.getAsInteger(10, GoodVersion.Major) ||
> GoodVersion.Major < 0)
>      return BadVersion;
>    GoodVersion.MajorStr = First.first.str();
> -  if (Second.first.getAsInteger(10, GoodVersion.Minor) ||
> -      GoodVersion.Minor < 0)
> +  if (Second.first.getAsInteger(10, GoodVersion.Minor) ||
> GoodVersion.Minor < 0)
>      return BadVersion;
>    GoodVersion.MinorStr = Second.first.str();
>
> @@ -1186,12 +1168,11 @@ static llvm::StringRef getGCCToolchainDi
>  /// should instead pull the target out of the driver. This is currently
>  /// necessary because the driver doesn't store the final version of the
> target
>  /// triple.
> -void
> -Generic_GCC::GCCInstallationDetector::init(
> +void Generic_GCC::GCCInstallationDetector::init(
>      const Driver &D, const llvm::Triple &TargetTriple, const ArgList
> &Args) {
> -  llvm::Triple BiarchVariantTriple =
> -      TargetTriple.isArch32Bit() ? TargetTriple.get64BitArchVariant()
> -                                 : TargetTriple.get32BitArchVariant();
> +  llvm::Triple BiarchVariantTriple = TargetTriple.isArch32Bit()
> +                                         ?
> TargetTriple.get64BitArchVariant()
> +                                         :
> TargetTriple.get32BitArchVariant();
>    // The library directories which may contain GCC installations.
>    SmallVector<StringRef, 4> CandidateLibDirs, CandidateBiarchLibDirs;
>    // The compatible GCC triples for this particular architecture.
> @@ -1281,91 +1262,82 @@ bool Generic_GCC::GCCInstallationDetecto
>    // Declare a bunch of static data sets that we'll select between below.
> These
>    // are specifically designed to always refer to string literals to
> avoid any
>    // lifetime or initialization issues.
> -  static const char *const AArch64LibDirs[] = { "/lib64", "/lib" };
> -  static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu",
> -                                                "aarch64-linux-gnu",
> -                                                "aarch64-linux-android",
> -                                                "aarch64-redhat-linux" };
> -  static const char *const AArch64beLibDirs[] = { "/lib" };
> -  static const char *const AArch64beTriples[] = {
> "aarch64_be-none-linux-gnu",
> -                                                  "aarch64_be-linux-gnu"
> };
> -
> -  static const char *const ARMLibDirs[] = { "/lib" };
> -  static const char *const ARMTriples[] = { "arm-linux-gnueabi",
> -                                            "arm-linux-androideabi" };
> -  static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf",
> -
> "armv7hl-redhat-linux-gnueabi" };
> -  static const char *const ARMebLibDirs[] = { "/lib" };
> -  static const char *const ARMebTriples[] = { "armeb-linux-gnueabi",
> -                                              "armeb-linux-androideabi" };
> -  static const char *const ARMebHFTriples[] = { "armeb-linux-gnueabihf",
> -
> "armebv7hl-redhat-linux-gnueabi" };
> +  static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
> +  static const char *const AArch64Triples[] = {
> +      "aarch64-none-linux-gnu", "aarch64-linux-gnu",
> "aarch64-linux-android",
> +      "aarch64-redhat-linux"};
> +  static const char *const AArch64beLibDirs[] = {"/lib"};
> +  static const char *const AArch64beTriples[] =
> {"aarch64_be-none-linux-gnu",
> +                                                 "aarch64_be-linux-gnu"};
> +
> +  static const char *const ARMLibDirs[] = {"/lib"};
> +  static const char *const ARMTriples[] = {"arm-linux-gnueabi",
> +                                           "arm-linux-androideabi"};
> +  static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
> +
>  "armv7hl-redhat-linux-gnueabi"};
> +  static const char *const ARMebLibDirs[] = {"/lib"};
> +  static const char *const ARMebTriples[] = {"armeb-linux-gnueabi",
> +                                             "armeb-linux-androideabi"};
> +  static const char *const ARMebHFTriples[] = {
> +      "armeb-linux-gnueabihf", "armebv7hl-redhat-linux-gnueabi"};
>
> -  static const char *const X86_64LibDirs[] = { "/lib64", "/lib" };
> +  static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
>    static const char *const X86_64Triples[] = {
> -    "x86_64-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
> -    "x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux",
> -    "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
> "x86_64-slackware-linux",
> -    "x86_64-linux-android", "x86_64-unknown-linux"
> -  };
> -  static const char *const X32LibDirs[] = { "/libx32" };
> -  static const char *const X86LibDirs[] = { "/lib32", "/lib" };
> +      "x86_64-linux-gnu",       "x86_64-unknown-linux-gnu",
> +      "x86_64-pc-linux-gnu",    "x86_64-redhat-linux6E",
> +      "x86_64-redhat-linux",    "x86_64-suse-linux",
> +      "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
> +      "x86_64-slackware-linux", "x86_64-linux-android",
> +      "x86_64-unknown-linux"};
> +  static const char *const X32LibDirs[] = {"/libx32"};
> +  static const char *const X86LibDirs[] = {"/lib32", "/lib"};
>    static const char *const X86Triples[] = {
> -    "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
> "i386-linux-gnu",
> -    "i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
> -    "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
> -    "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu"
> -  };
> -
> -  static const char *const MIPSLibDirs[] = { "/lib" };
> -  static const char *const MIPSTriples[] = { "mips-linux-gnu",
> -                                             "mips-mti-linux-gnu",
> -                                             "mips-img-linux-gnu" };
> -  static const char *const MIPSELLibDirs[] = { "/lib" };
> -  static const char *const MIPSELTriples[] = { "mipsel-linux-gnu",
> -                                               "mipsel-linux-android",
> -                                               "mips-img-linux-gnu" };
> -
> -  static const char *const MIPS64LibDirs[] = { "/lib64", "/lib" };
> -  static const char *const MIPS64Triples[] = { "mips64-linux-gnu",
> -                                               "mips-mti-linux-gnu",
> -                                               "mips-img-linux-gnu",
> -                                               "mips64-linux-gnuabi64" };
> -  static const char *const MIPS64ELLibDirs[] = { "/lib64", "/lib" };
> -  static const char *const MIPS64ELTriples[] = { "mips64el-linux-gnu",
> -                                                 "mips-mti-linux-gnu",
> -                                                 "mips-img-linux-gnu",
> -                                                 "mips64el-linux-android",
> -
>  "mips64el-linux-gnuabi64" };
> +      "i686-linux-gnu",       "i686-pc-linux-gnu",     "i486-linux-gnu",
> +      "i386-linux-gnu",       "i386-redhat-linux6E",
>  "i686-redhat-linux",
> +      "i586-redhat-linux",    "i386-redhat-linux",     "i586-suse-linux",
> +      "i486-slackware-linux", "i686-montavista-linux",
> "i686-linux-android",
> +      "i586-linux-gnu"};
> +
> +  static const char *const MIPSLibDirs[] = {"/lib"};
> +  static const char *const MIPSTriples[] = {
> +      "mips-linux-gnu", "mips-mti-linux-gnu", "mips-img-linux-gnu"};
> +  static const char *const MIPSELLibDirs[] = {"/lib"};
> +  static const char *const MIPSELTriples[] = {
> +      "mipsel-linux-gnu", "mipsel-linux-android", "mips-img-linux-gnu"};
> +
> +  static const char *const MIPS64LibDirs[] = {"/lib64", "/lib"};
> +  static const char *const MIPS64Triples[] = {
> +      "mips64-linux-gnu", "mips-mti-linux-gnu", "mips-img-linux-gnu",
> +      "mips64-linux-gnuabi64"};
> +  static const char *const MIPS64ELLibDirs[] = {"/lib64", "/lib"};
> +  static const char *const MIPS64ELTriples[] = {
> +      "mips64el-linux-gnu", "mips-mti-linux-gnu", "mips-img-linux-gnu",
> +      "mips64el-linux-android", "mips64el-linux-gnuabi64"};
>
> -  static const char *const PPCLibDirs[] = { "/lib32", "/lib" };
> +  static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
>    static const char *const PPCTriples[] = {
> -    "powerpc-linux-gnu", "powerpc-unknown-linux-gnu",
> "powerpc-linux-gnuspe",
> -    "powerpc-suse-linux", "powerpc-montavista-linuxspe"
> -  };
> -  static const char *const PPC64LibDirs[] = { "/lib64", "/lib" };
> -  static const char *const PPC64Triples[] = { "powerpc64-linux-gnu",
> -
> "powerpc64-unknown-linux-gnu",
> -                                              "powerpc64-suse-linux",
> -                                              "ppc64-redhat-linux" };
> -  static const char *const PPC64LELibDirs[] = { "/lib64", "/lib" };
> -  static const char *const PPC64LETriples[] = { "powerpc64le-linux-gnu",
> -
> "powerpc64le-unknown-linux-gnu",
> -                                                "powerpc64le-suse-linux",
> -                                                "ppc64le-redhat-linux" };
> -
> -  static const char *const SPARCv8LibDirs[] = { "/lib32", "/lib" };
> -  static const char *const SPARCv8Triples[] = { "sparc-linux-gnu",
> -                                                "sparcv8-linux-gnu" };
> -  static const char *const SPARCv9LibDirs[] = { "/lib64", "/lib" };
> -  static const char *const SPARCv9Triples[] = { "sparc64-linux-gnu",
> -                                                "sparcv9-linux-gnu" };
> +      "powerpc-linux-gnu", "powerpc-unknown-linux-gnu",
> "powerpc-linux-gnuspe",
> +      "powerpc-suse-linux", "powerpc-montavista-linuxspe"};
> +  static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
> +  static const char *const PPC64Triples[] = {
> +      "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu",
> +      "powerpc64-suse-linux", "ppc64-redhat-linux"};
> +  static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"};
> +  static const char *const PPC64LETriples[] = {
> +      "powerpc64le-linux-gnu", "powerpc64le-unknown-linux-gnu",
> +      "powerpc64le-suse-linux", "ppc64le-redhat-linux"};
> +
> +  static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
> +  static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
> +                                               "sparcv8-linux-gnu"};
> +  static const char *const SPARCv9LibDirs[] = {"/lib64", "/lib"};
> +  static const char *const SPARCv9Triples[] = {"sparc64-linux-gnu",
> +                                               "sparcv9-linux-gnu"};
>
> -  static const char *const SystemZLibDirs[] = { "/lib64", "/lib" };
> +  static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
>    static const char *const SystemZTriples[] = {
> -    "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
> -    "s390x-suse-linux", "s390x-redhat-linux"
> -  };
> +      "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
> +      "s390x-suse-linux", "s390x-redhat-linux"};
>
>    using std::begin;
>    using std::end;
> @@ -1533,14 +1505,12 @@ static bool isMipsEL(llvm::Triple::ArchT
>  }
>
>  static bool isMips16(const ArgList &Args) {
> -  Arg *A = Args.getLastArg(options::OPT_mips16,
> -                           options::OPT_mno_mips16);
> +  Arg *A = Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16);
>    return A && A->getOption().matches(options::OPT_mips16);
>  }
>
>  static bool isMicroMips(const ArgList &Args) {
> -  Arg *A = Args.getLastArg(options::OPT_mmicromips,
> -                           options::OPT_mno_micromips);
> +  Arg *A = Args.getLastArg(options::OPT_mmicromips,
> options::OPT_mno_micromips);
>    return A && A->getOption().matches(options::OPT_mmicromips);
>  }
>
> @@ -1561,8 +1531,7 @@ static Multilib makeMultilib(StringRef c
>  }
>
>  static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef
> Path,
> -                              const ArgList &Args,
> -                              DetectedMultilibs &Result) {
> +                              const ArgList &Args, DetectedMultilibs
> &Result) {
>    // Some MIPS toolchains put libraries and object files compiled
>    // using different options in to the sub-directoris which names
>    // reflects the flags used for compilation. For example sysroot
> @@ -1594,181 +1563,182 @@ static bool findMIPSMultilibs(const llvm
>    MultilibSet FSFMipsMultilibs;
>    {
>      auto MArchMips32 = makeMultilib("/mips32")
> -
> .flag("+m32").flag("-m64").flag("-mmicromips").flag("+march=mips32");
> +                           .flag("+m32")
> +                           .flag("-m64")
> +                           .flag("-mmicromips")
> +                           .flag("+march=mips32");
>
>      auto MArchMicroMips = makeMultilib("/micromips")
> -      .flag("+m32").flag("-m64").flag("+mmicromips");
> +                              .flag("+m32")
> +                              .flag("-m64")
> +                              .flag("+mmicromips");
>
>      auto MArchMips64r2 = makeMultilib("/mips64r2")
> -      .flag("-m32").flag("+m64").flag("+march=mips64r2");
> +                             .flag("-m32")
> +                             .flag("+m64")
> +                             .flag("+march=mips64r2");
>
> -    auto MArchMips64 = makeMultilib("/mips64")
> -      .flag("-m32").flag("+m64").flag("-march=mips64r2");
> +    auto MArchMips64 =
> makeMultilib("/mips64").flag("-m32").flag("+m64").flag(
> +        "-march=mips64r2");
>
>      auto MArchDefault = makeMultilib("")
> -
> .flag("+m32").flag("-m64").flag("-mmicromips").flag("+march=mips32r2");
> -
> -    auto Mips16 = makeMultilib("/mips16")
> -      .flag("+mips16");
> -
> -    auto UCLibc = makeMultilib("/uclibc")
> -      .flag("+muclibc");
> -
> -    auto MAbi64 = makeMultilib("/64")
> -      .flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
> -
> -    auto BigEndian = makeMultilib("")
> -      .flag("+EB").flag("-EL");
> -
> -    auto LittleEndian = makeMultilib("/el")
> -      .flag("+EL").flag("-EB");
> -
> -    auto SoftFloat = makeMultilib("/sof")
> -      .flag("+msoft-float");
> -
> -    auto Nan2008 = makeMultilib("/nan2008")
> -      .flag("+mnan=2008");
> -
> -    FSFMipsMultilibs = MultilibSet()
> -      .Either(MArchMips32, MArchMicroMips,
> -              MArchMips64r2, MArchMips64, MArchDefault)
> -      .Maybe(UCLibc)
> -      .Maybe(Mips16)
> -      .FilterOut("/mips64/mips16")
> -      .FilterOut("/mips64r2/mips16")
> -      .FilterOut("/micromips/mips16")
> -      .Maybe(MAbi64)
> -      .FilterOut("/micromips/64")
> -      .FilterOut("/mips32/64")
> -      .FilterOut("^/64")
> -      .FilterOut("/mips16/64")
> -      .Either(BigEndian, LittleEndian)
> -      .Maybe(SoftFloat)
> -      .Maybe(Nan2008)
> -      .FilterOut(".*sof/nan2008")
> -      .FilterOut(NonExistent)
> -      .setIncludeDirsCallback([](
> -          StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
> -        std::vector<std::string> Dirs;
> -        Dirs.push_back((InstallDir + "/include").str());
> -        std::string SysRootInc = InstallDir.str() +
> "/../../../../sysroot";
> -        if (StringRef(M.includeSuffix()).startswith("/uclibc"))
> -          Dirs.push_back(SysRootInc + "/uclibc/usr/include");
> -        else
> -          Dirs.push_back(SysRootInc + "/usr/include");
> -        return Dirs;
> -      });
> +                            .flag("+m32")
> +                            .flag("-m64")
> +                            .flag("-mmicromips")
> +                            .flag("+march=mips32r2");
> +
> +    auto Mips16 = makeMultilib("/mips16").flag("+mips16");
> +
> +    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
> +
> +    auto MAbi64 =
> +
> makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
> +
> +    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
> +
> +    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
> +
> +    auto SoftFloat = makeMultilib("/sof").flag("+msoft-float");
> +
> +    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
> +
> +    FSFMipsMultilibs =
> +        MultilibSet()
> +            .Either(MArchMips32, MArchMicroMips, MArchMips64r2,
> MArchMips64,
> +                    MArchDefault)
> +            .Maybe(UCLibc)
> +            .Maybe(Mips16)
> +            .FilterOut("/mips64/mips16")
> +            .FilterOut("/mips64r2/mips16")
> +            .FilterOut("/micromips/mips16")
> +            .Maybe(MAbi64)
> +            .FilterOut("/micromips/64")
> +            .FilterOut("/mips32/64")
> +            .FilterOut("^/64")
> +            .FilterOut("/mips16/64")
> +            .Either(BigEndian, LittleEndian)
> +            .Maybe(SoftFloat)
> +            .Maybe(Nan2008)
> +            .FilterOut(".*sof/nan2008")
> +            .FilterOut(NonExistent)
> +            .setIncludeDirsCallback([](StringRef InstallDir,
> +                                       StringRef TripleStr, const
> Multilib &M) {
> +              std::vector<std::string> Dirs;
> +              Dirs.push_back((InstallDir + "/include").str());
> +              std::string SysRootInc =
> +                  InstallDir.str() + "/../../../../sysroot";
> +              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
> +                Dirs.push_back(SysRootInc + "/uclibc/usr/include");
> +              else
> +                Dirs.push_back(SysRootInc + "/usr/include");
> +              return Dirs;
> +            });
>    }
>
>    // Check for Code Sourcery toolchain multilibs
>    MultilibSet CSMipsMultilibs;
>    {
> -    auto MArchMips16 = makeMultilib("/mips16")
> -      .flag("+m32").flag("+mips16");
> +    auto MArchMips16 =
> makeMultilib("/mips16").flag("+m32").flag("+mips16");
>
> -    auto MArchMicroMips = makeMultilib("/micromips")
> -      .flag("+m32").flag("+mmicromips");
> +    auto MArchMicroMips =
> +        makeMultilib("/micromips").flag("+m32").flag("+mmicromips");
>
> -    auto MArchDefault = makeMultilib("")
> -      .flag("-mips16").flag("-mmicromips");
> +    auto MArchDefault =
> makeMultilib("").flag("-mips16").flag("-mmicromips");
>
> -    auto UCLibc = makeMultilib("/uclibc")
> -      .flag("+muclibc");
> +    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
>
> -    auto SoftFloat = makeMultilib("/soft-float")
> -      .flag("+msoft-float");
> +    auto SoftFloat = makeMultilib("/soft-float").flag("+msoft-float");
>
> -    auto Nan2008 = makeMultilib("/nan2008")
> -      .flag("+mnan=2008");
> +    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
>
> -    auto DefaultFloat = makeMultilib("")
> -      .flag("-msoft-float").flag("-mnan=2008");
> +    auto DefaultFloat =
> +        makeMultilib("").flag("-msoft-float").flag("-mnan=2008");
>
> -    auto BigEndian = makeMultilib("")
> -      .flag("+EB").flag("-EL");
> +    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
>
> -    auto LittleEndian = makeMultilib("/el")
> -      .flag("+EL").flag("-EB");
> +    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
>
>      // Note that this one's osSuffix is ""
>      auto MAbi64 = makeMultilib("")
> -      .gccSuffix("/64")
> -      .includeSuffix("/64")
> -      .flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
> -
> -    CSMipsMultilibs = MultilibSet()
> -      .Either(MArchMips16, MArchMicroMips, MArchDefault)
> -      .Maybe(UCLibc)
> -      .Either(SoftFloat, Nan2008, DefaultFloat)
> -      .FilterOut("/micromips/nan2008")
> -      .FilterOut("/mips16/nan2008")
> -      .Either(BigEndian, LittleEndian)
> -      .Maybe(MAbi64)
> -      .FilterOut("/mips16.*/64")
> -      .FilterOut("/micromips.*/64")
> -      .FilterOut(NonExistent)
> -      .setIncludeDirsCallback([](
> -          StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
> -        std::vector<std::string> Dirs;
> -        Dirs.push_back((InstallDir + "/include").str());
> -        std::string SysRootInc =
> -            InstallDir.str() + "/../../../../" + TripleStr.str();
> -        if (StringRef(M.includeSuffix()).startswith("/uclibc"))
> -          Dirs.push_back(SysRootInc + "/libc/uclibc/usr/include");
> -        else
> -          Dirs.push_back(SysRootInc + "/libc/usr/include");
> -        return Dirs;
> -      });
> -  }
> -
> -  MultilibSet AndroidMipsMultilibs = MultilibSet()
> -    .Maybe(Multilib("/mips-r2").flag("+march=mips32r2"))
> -    .Maybe(Multilib("/mips-r6").flag("+march=mips32r6"))
> -    .FilterOut(NonExistent);
> +                      .gccSuffix("/64")
> +                      .includeSuffix("/64")
> +                      .flag("+mabi=n64")
> +                      .flag("-mabi=n32")
> +                      .flag("-m32");
> +
> +    CSMipsMultilibs =
> +        MultilibSet()
> +            .Either(MArchMips16, MArchMicroMips, MArchDefault)
> +            .Maybe(UCLibc)
> +            .Either(SoftFloat, Nan2008, DefaultFloat)
> +            .FilterOut("/micromips/nan2008")
> +            .FilterOut("/mips16/nan2008")
> +            .Either(BigEndian, LittleEndian)
> +            .Maybe(MAbi64)
> +            .FilterOut("/mips16.*/64")
> +            .FilterOut("/micromips.*/64")
> +            .FilterOut(NonExistent)
> +            .setIncludeDirsCallback([](StringRef InstallDir,
> +                                       StringRef TripleStr, const
> Multilib &M) {
> +              std::vector<std::string> Dirs;
> +              Dirs.push_back((InstallDir + "/include").str());
> +              std::string SysRootInc =
> +                  InstallDir.str() + "/../../../../" + TripleStr.str();
> +              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
> +                Dirs.push_back(SysRootInc + "/libc/uclibc/usr/include");
> +              else
> +                Dirs.push_back(SysRootInc + "/libc/usr/include");
> +              return Dirs;
> +            });
> +  }
> +
> +  MultilibSet AndroidMipsMultilibs =
> +      MultilibSet()
> +          .Maybe(Multilib("/mips-r2").flag("+march=mips32r2"))
> +          .Maybe(Multilib("/mips-r6").flag("+march=mips32r6"))
> +          .FilterOut(NonExistent);
>
>    MultilibSet DebianMipsMultilibs;
>    {
> -    Multilib MAbiN32 = Multilib()
> -      .gccSuffix("/n32")
> -      .includeSuffix("/n32")
> -      .flag("+mabi=n32");
> +    Multilib MAbiN32 =
> +
> Multilib().gccSuffix("/n32").includeSuffix("/n32").flag("+mabi=n32");
>
>      Multilib M64 = Multilib()
> -      .gccSuffix("/64")
> -      .includeSuffix("/64")
> -      .flag("+m64").flag("-m32").flag("-mabi=n32");
> -
> -    Multilib M32 = Multilib()
> -      .flag("-m64").flag("+m32").flag("-mabi=n32");
> -
> -    DebianMipsMultilibs = MultilibSet()
> -      .Either(M32, M64, MAbiN32)
> -      .FilterOut(NonExistent);
> +                       .gccSuffix("/64")
> +                       .includeSuffix("/64")
> +                       .flag("+m64")
> +                       .flag("-m32")
> +                       .flag("-mabi=n32");
> +
> +    Multilib M32 = Multilib().flag("-m64").flag("+m32").flag("-mabi=n32");
> +
> +    DebianMipsMultilibs =
> +        MultilibSet().Either(M32, M64, MAbiN32).FilterOut(NonExistent);
>    }
>
>    MultilibSet ImgMultilibs;
>    {
> -    auto Mips64r6 = makeMultilib("/mips64r6")
> -      .flag("+m64").flag("-m32");
> +    auto Mips64r6 = makeMultilib("/mips64r6").flag("+m64").flag("-m32");
>
> -    auto LittleEndian = makeMultilib("/el")
> -      .flag("+EL").flag("-EB");
> +    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
>
> -    auto MAbi64 = makeMultilib("/64")
> -      .flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
> +    auto MAbi64 =
> +
> makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
>
> -    ImgMultilibs = MultilibSet()
> -      .Maybe(Mips64r6)
> -      .Maybe(MAbi64)
> -      .Maybe(LittleEndian)
> -      .FilterOut(NonExistent)
> -      .setIncludeDirsCallback([](
> -          StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
> -        std::vector<std::string> Dirs;
> -        Dirs.push_back((InstallDir + "/include").str());
> -        Dirs.push_back((InstallDir +
> "/../../../../sysroot/usr/include").str());
> -        return Dirs;
> -      });
> +    ImgMultilibs =
> +        MultilibSet()
> +            .Maybe(Mips64r6)
> +            .Maybe(MAbi64)
> +            .Maybe(LittleEndian)
> +            .FilterOut(NonExistent)
> +            .setIncludeDirsCallback([](StringRef InstallDir,
> +                                       StringRef TripleStr, const
> Multilib &M) {
> +              std::vector<std::string> Dirs;
> +              Dirs.push_back((InstallDir + "/include").str());
> +              Dirs.push_back(
> +                  (InstallDir +
> "/../../../../sysroot/usr/include").str());
> +              return Dirs;
> +            });
>    }
>
>    StringRef CPUName;
> @@ -1823,8 +1793,8 @@ static bool findMIPSMultilibs(const llvm
>
>    // Sort candidates. Toolchain that best meets the directories goes
> first.
>    // Then select the first toolchains matches command line flags.
> -  MultilibSet *candidates[] = { &DebianMipsMultilibs, &FSFMipsMultilibs,
> -                                &CSMipsMultilibs };
> +  MultilibSet *candidates[] = {&DebianMipsMultilibs, &FSFMipsMultilibs,
> +                               &CSMipsMultilibs};
>    std::sort(
>        std::begin(candidates), std::end(candidates),
>        [](MultilibSet *a, MultilibSet *b) { return a->size() > b->size();
> });
> @@ -1866,17 +1836,23 @@ static bool findBiarchMultilibs(const ll
>
>    Multilib Default;
>    Multilib Alt64 = Multilib()
> -    .gccSuffix("/64")
> -    .includeSuffix("/64")
> -    .flag("-m32").flag("+m64").flag("-mx32");
> +                       .gccSuffix("/64")
> +                       .includeSuffix("/64")
> +                       .flag("-m32")
> +                       .flag("+m64")
> +                       .flag("-mx32");
>    Multilib Alt32 = Multilib()
> -    .gccSuffix("/32")
> -    .includeSuffix("/32")
> -    .flag("+m32").flag("-m64").flag("-mx32");
> +                       .gccSuffix("/32")
> +                       .includeSuffix("/32")
> +                       .flag("+m32")
> +                       .flag("-m64")
> +                       .flag("-mx32");
>    Multilib Altx32 = Multilib()
> -    .gccSuffix("/x32")
> -    .includeSuffix("/x32")
> -    .flag("-m32").flag("-m64").flag("+mx32");
> +                        .gccSuffix("/x32")
> +                        .includeSuffix("/x32")
> +                        .flag("-m32")
> +                        .flag("-m64")
> +                        .flag("+mx32");
>
>    FilterNonExistent NonExistent(Path);
>
> @@ -1923,8 +1899,7 @@ static bool findBiarchMultilibs(const ll
>    if (!Result.Multilibs.select(Flags, Result.SelectedMultilib))
>      return false;
>
> -  if (Result.SelectedMultilib == Alt64 ||
> -      Result.SelectedMultilib == Alt32 ||
> +  if (Result.SelectedMultilib == Alt64 || Result.SelectedMultilib ==
> Alt32 ||
>        Result.SelectedMultilib == Altx32)
>      Result.BiarchSibling = Default;
>
> @@ -1940,27 +1915,26 @@ void Generic_GCC::GCCInstallationDetecto
>    // check for. We also record what is necessary to walk from each back
>    // up to the lib directory.
>    const std::string LibSuffixes[] = {
> -    "/gcc/" + CandidateTriple.str(),
> -    // Debian puts cross-compilers in gcc-cross
> -    "/gcc-cross/" + CandidateTriple.str(),
> -    "/" + CandidateTriple.str() + "/gcc/" + CandidateTriple.str(),
> -
> -    // The Freescale PPC SDK has the gcc libraries in
> -    // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well.
> -    "/" + CandidateTriple.str(),
> -
> -    // Ubuntu has a strange mis-matched pair of triples that this happens
> to
> -    // match.
> -    // FIXME: It may be worthwhile to generalize this and look for a
> second
> -    // triple.
> -    "/i386-linux-gnu/gcc/" + CandidateTriple.str()
> -  };
> +      "/gcc/" + CandidateTriple.str(),
> +      // Debian puts cross-compilers in gcc-cross
> +      "/gcc-cross/" + CandidateTriple.str(),
> +      "/" + CandidateTriple.str() + "/gcc/" + CandidateTriple.str(),
> +
> +      // The Freescale PPC SDK has the gcc libraries in
> +      // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well.
> +      "/" + CandidateTriple.str(),
> +
> +      // Ubuntu has a strange mis-matched pair of triples that this
> happens to
> +      // match.
> +      // FIXME: It may be worthwhile to generalize this and look for a
> second
> +      // triple.
> +      "/i386-linux-gnu/gcc/" + CandidateTriple.str()};
>    const std::string InstallSuffixes[] = {
> -    "/../../..",    // gcc/
> -    "/../../..",    // gcc-cross/
> -    "/../../../..", // <triple>/gcc/
> -    "/../..",       // <triple>/
> -    "/../../../.."  // i386-linux-gnu/gcc/<triple>/
> +      "/../../..",    // gcc/
> +      "/../../..",    // gcc-cross/
> +      "/../../../..", // <triple>/gcc/
> +      "/../..",       // <triple>/
> +      "/../../../.."  // i386-linux-gnu/gcc/<triple>/
>    };
>    // Only look at the final, weird Ubuntu suffix for i386-linux-gnu.
>    const unsigned NumLibSuffixes =
> @@ -2007,16 +1981,15 @@ void Generic_GCC::GCCInstallationDetecto
>    }
>  }
>
> -Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple& Triple,
> +Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple,
>                           const ArgList &Args)
> -  : ToolChain(D, Triple, Args), GCCInstallation() {
> +    : ToolChain(D, Triple, Args), GCCInstallation() {
>    getProgramPaths().push_back(getDriver().getInstalledDir());
>    if (getDriver().getInstalledDir() != getDriver().Dir)
>      getProgramPaths().push_back(getDriver().Dir);
>  }
>
> -Generic_GCC::~Generic_GCC() {
> -}
> +Generic_GCC::~Generic_GCC() {}
>
>  Tool *Generic_GCC::getTool(Action::ActionClass AC) const {
>    switch (AC) {
> @@ -2048,17 +2021,11 @@ bool Generic_GCC::IsUnwindTablesDefault(
>    return getArch() == llvm::Triple::x86_64;
>  }
>
> -bool Generic_GCC::isPICDefault() const {
> -  return false;
> -}
> +bool Generic_GCC::isPICDefault() const { return false; }
>
> -bool Generic_GCC::isPIEDefault() const {
> -  return false;
> -}
> +bool Generic_GCC::isPIEDefault() const { return false; }
>
> -bool Generic_GCC::isPICDefaultForced() const {
> -  return false;
> -}
> +bool Generic_GCC::isPICDefaultForced() const { return false; }
>
>  bool Generic_GCC::IsIntegratedAssemblerDefault() const {
>    switch (getTriple().getArch()) {
> @@ -2097,8 +2064,7 @@ void Generic_ELF::addClangTargetOptions(
>        getTriple().getOS() == llvm::Triple::NaCl;
>
>    if (DriverArgs.hasFlag(options::OPT_fuse_init_array,
> -                         options::OPT_fno_use_init_array,
> -                         UseInitArrayDefault))
> +                         options::OPT_fno_use_init_array,
> UseInitArrayDefault))
>      CC1Args.push_back("-fuse-init-array");
>  }
>
> @@ -2124,18 +2090,15 @@ std::string Hexagon_TC::GetGnuDir(const
>    return InstallRelDir;
>  }
>
> -const char *Hexagon_TC::GetSmallDataThreshold(const ArgList &Args)
> -{
> +const char *Hexagon_TC::GetSmallDataThreshold(const ArgList &Args) {
>    Arg *A;
>
> -  A = Args.getLastArg(options::OPT_G,
> -                      options::OPT_G_EQ,
> +  A = Args.getLastArg(options::OPT_G, options::OPT_G_EQ,
>                        options::OPT_msmall_data_threshold_EQ);
>    if (A)
>      return A->getValue();
>
> -  A = Args.getLastArg(options::OPT_shared,
> -                      options::OPT_fpic,
> +  A = Args.getLastArg(options::OPT_shared, options::OPT_fpic,
>                        options::OPT_fPIC);
>    if (A)
>      return "0";
> @@ -2143,18 +2106,14 @@ const char *Hexagon_TC::GetSmallDataThre
>    return 0;
>  }
>
> -bool Hexagon_TC::UsesG0(const char* smallDataThreshold)
> -{
> +bool Hexagon_TC::UsesG0(const char *smallDataThreshold) {
>    return smallDataThreshold && smallDataThreshold[0] == '0';
>  }
>
> -static void GetHexagonLibraryPaths(
> -  const ArgList &Args,
> -  const std::string &Ver,
> -  const std::string &MarchString,
> -  const std::string &InstalledDir,
> -  ToolChain::path_list *LibPaths)
> -{
> +static void GetHexagonLibraryPaths(const ArgList &Args, const std::string
> &Ver,
> +                                   const std::string &MarchString,
> +                                   const std::string &InstalledDir,
> +                                   ToolChain::path_list *LibPaths) {
>    bool buildingLib = Args.hasArg(options::OPT_shared);
>
>
>  //----------------------------------------------------------------------------
> @@ -2196,7 +2155,7 @@ static void GetHexagonLibraryPaths(
>
>  Hexagon_TC::Hexagon_TC(const Driver &D, const llvm::Triple &Triple,
>                         const ArgList &Args)
> -  : Linux(D, Triple, Args) {
> +    : Linux(D, Triple, Args) {
>    const std::string InstalledDir(getDriver().getInstalledDir());
>    const std::string GnuDir = Hexagon_TC::GetGnuDir(InstalledDir, Args);
>
> @@ -2209,7 +2168,7 @@ Hexagon_TC::Hexagon_TC(const Driver &D,
>    // Determine version of GCC libraries and headers to use.
>    const std::string HexagonDir(GnuDir + "/lib/gcc/hexagon");
>    std::error_code ec;
> -  GCCVersion MaxVersion= GCCVersion::Parse("0.0.0");
> +  GCCVersion MaxVersion = GCCVersion::Parse("0.0.0");
>    for (llvm::sys::fs::directory_iterator di(HexagonDir, ec), de;
>         !ec && di != de; di = di.increment(ec)) {
>      GCCVersion cv =
> GCCVersion::Parse(llvm::sys::path::filename(di->path()));
> @@ -2218,19 +2177,15 @@ Hexagon_TC::Hexagon_TC(const Driver &D,
>    }
>    GCCLibAndIncVersion = MaxVersion;
>
> -  ToolChain::path_list *LibPaths= &getFilePaths();
> +  ToolChain::path_list *LibPaths = &getFilePaths();
>
>    // Remove paths added by Linux toolchain. Currently Hexagon_TC really
> targets
>    // 'elf' OS type, so the Linux paths are not appropriate. When we
> actually
>    // support 'linux' we'll need to fix this up
>    LibPaths->clear();
>
> -  GetHexagonLibraryPaths(
> -    Args,
> -    GetGCCLibAndIncVersion(),
> -    GetTargetCPU(Args),
> -    InstalledDir,
> -    LibPaths);
> +  GetHexagonLibraryPaths(Args, GetGCCLibAndIncVersion(),
> GetTargetCPU(Args),
> +                         InstalledDir, LibPaths);
>  }
>
>  Hexagon_TC::~Hexagon_TC() {}
> @@ -2284,8 +2239,7 @@ Hexagon_TC::GetCXXStdlibType(const ArgLi
>
>    StringRef Value = A->getValue();
>    if (Value != "libstdc++") {
> -    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_invalid_stdlib_name) <<
> A->getAsString(Args);
>    }
>
>    return ToolChain::CST_Libstdcxx;
> @@ -2314,8 +2268,7 @@ static int getHexagonVersion(const ArgLi
>    return 4;
>  }
>
> -StringRef Hexagon_TC::GetTargetCPU(const ArgList &Args)
> -{
> +StringRef Hexagon_TC::GetTargetCPU(const ArgList &Args) {
>    int V = getHexagonVersion(Args);
>    // FIXME: We don't support versions < 4. We should error on them.
>    switch (V) {
> @@ -2338,13 +2291,13 @@ StringRef Hexagon_TC::GetTargetCPU(const
>  /// NaCl Toolchain
>  NaCl_TC::NaCl_TC(const Driver &D, const llvm::Triple &Triple,
>                   const ArgList &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +    : Generic_ELF(D, Triple, Args) {
>
>    // Remove paths added by Generic_GCC. NaCl Toolchain cannot use the
>    // default paths, and must instead only use the paths provided
>    // with this toolchain based on architecture.
> -  path_list& file_paths = getFilePaths();
> -  path_list& prog_paths = getProgramPaths();
> +  path_list &file_paths = getFilePaths();
> +  path_list &prog_paths = getProgramPaths();
>
>    file_paths.clear();
>    prog_paths.clear();
> @@ -2358,30 +2311,30 @@ NaCl_TC::NaCl_TC(const Driver &D, const
>    // Path for toolchain libraries (libgcc.a, ...)
>    std::string ToolPath(getDriver().ResourceDir + "/lib/");
>
> -  switch(Triple.getArch()) {
> -    case llvm::Triple::x86: {
> -      file_paths.push_back(FilePath + "x86_64-nacl/lib32");
> -      file_paths.push_back(FilePath + "x86_64-nacl/usr/lib32");
> -      prog_paths.push_back(ProgPath + "x86_64-nacl/bin");
> -      file_paths.push_back(ToolPath + "i686-nacl");
> -      break;
> -    }
> -    case llvm::Triple::x86_64: {
> -      file_paths.push_back(FilePath + "x86_64-nacl/lib");
> -      file_paths.push_back(FilePath + "x86_64-nacl/usr/lib");
> -      prog_paths.push_back(ProgPath + "x86_64-nacl/bin");
> -      file_paths.push_back(ToolPath + "x86_64-nacl");
> -      break;
> -    }
> -    case llvm::Triple::arm: {
> -      file_paths.push_back(FilePath + "arm-nacl/lib");
> -      file_paths.push_back(FilePath + "arm-nacl/usr/lib");
> -      prog_paths.push_back(ProgPath + "arm-nacl/bin");
> -      file_paths.push_back(ToolPath + "arm-nacl");
> -      break;
> -    }
> -    default:
> -      break;
> +  switch (Triple.getArch()) {
> +  case llvm::Triple::x86: {
> +    file_paths.push_back(FilePath + "x86_64-nacl/lib32");
> +    file_paths.push_back(FilePath + "x86_64-nacl/usr/lib32");
> +    prog_paths.push_back(ProgPath + "x86_64-nacl/bin");
> +    file_paths.push_back(ToolPath + "i686-nacl");
> +    break;
> +  }
> +  case llvm::Triple::x86_64: {
> +    file_paths.push_back(FilePath + "x86_64-nacl/lib");
> +    file_paths.push_back(FilePath + "x86_64-nacl/usr/lib");
> +    prog_paths.push_back(ProgPath + "x86_64-nacl/bin");
> +    file_paths.push_back(ToolPath + "x86_64-nacl");
> +    break;
> +  }
> +  case llvm::Triple::arm: {
> +    file_paths.push_back(FilePath + "arm-nacl/lib");
> +    file_paths.push_back(FilePath + "arm-nacl/usr/lib");
> +    prog_paths.push_back(ProgPath + "arm-nacl/bin");
> +    file_paths.push_back(ToolPath + "arm-nacl");
> +    break;
> +  }
> +  default:
> +    break;
>    }
>
>    // Use provided linker, not system linker
> @@ -2469,15 +2422,14 @@ ToolChain::CXXStdlibType NaCl_TC::GetCXX
>      StringRef Value = A->getValue();
>      if (Value == "libc++")
>        return ToolChain::CST_Libcxx;
> -    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_invalid_stdlib_name) <<
> A->getAsString(Args);
>    }
>
>    return ToolChain::CST_Libcxx;
>  }
>
> -std::string NaCl_TC::ComputeEffectiveClangTriple(
> -    const ArgList &Args, types::ID InputType) const {
> +std::string NaCl_TC::ComputeEffectiveClangTriple(const ArgList &Args,
> +                                                 types::ID InputType)
> const {
>    llvm::Triple TheTriple(ComputeLLVMTriple(Args, InputType));
>    if (TheTriple.getArch() == llvm::Triple::arm &&
>        TheTriple.getEnvironment() == llvm::Triple::UnknownEnvironment)
> @@ -2500,9 +2452,9 @@ Tool *NaCl_TC::buildAssembler() const {
>  /// all subcommands. See http://tce.cs.tut.fi for our peculiar target.
>  /// Currently does not support anything else but compilation.
>
> -TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple& Triple,
> +TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple &Triple,
>                             const ArgList &Args)
> -  : ToolChain(D, Triple, Args) {
> +    : ToolChain(D, Triple, Args) {
>    // Path mangling to find libexec
>    std::string Path(getDriver().Dir);
>
> @@ -2510,24 +2462,15 @@ TCEToolChain::TCEToolChain(const Driver
>    getProgramPaths().push_back(Path);
>  }
>
> -TCEToolChain::~TCEToolChain() {
> -}
> +TCEToolChain::~TCEToolChain() {}
>
> -bool TCEToolChain::IsMathErrnoDefault() const {
> -  return true;
> -}
> +bool TCEToolChain::IsMathErrnoDefault() const { return true; }
>
> -bool TCEToolChain::isPICDefault() const {
> -  return false;
> -}
> +bool TCEToolChain::isPICDefault() const { return false; }
>
> -bool TCEToolChain::isPIEDefault() const {
> -  return false;
> -}
> +bool TCEToolChain::isPIEDefault() const { return false; }
>
> -bool TCEToolChain::isPICDefaultForced() const {
> -  return false;
> -}
> +bool TCEToolChain::isPICDefaultForced() const { return false; }
>
>  // CloudABI - CloudABI tool chain which can call ld(1) directly.
>
> @@ -2563,8 +2506,9 @@ Tool *CloudABI::buildLinker() const {
>
>  /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly.
>
> -OpenBSD::OpenBSD(const Driver &D, const llvm::Triple& Triple, const
> ArgList &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple,
> +                 const ArgList &Args)
> +    : Generic_ELF(D, Triple, Args) {
>    getFilePaths().push_back(getDriver().Dir + "/../lib");
>    getFilePaths().push_back("/usr/lib");
>  }
> @@ -2577,8 +2521,8 @@ Tool *OpenBSD::buildLinker() const { ret
>
>  /// Bitrig - Bitrig tool chain which can call as(1) and ld(1) directly.
>
> -Bitrig::Bitrig(const Driver &D, const llvm::Triple& Triple, const ArgList
> &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +Bitrig::Bitrig(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> +    : Generic_ELF(D, Triple, Args) {
>    getFilePaths().push_back(getDriver().Dir + "/../lib");
>    getFilePaths().push_back("/usr/lib");
>  }
> @@ -2597,8 +2541,7 @@ ToolChain::CXXStdlibType Bitrig::GetCXXS
>      if (Value == "libc++")
>        return ToolChain::CST_Libcxx;
>
> -    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_invalid_stdlib_name) <<
> A->getAsString(Args);
>    }
>    return ToolChain::CST_Libcxx;
>  }
> @@ -2624,11 +2567,11 @@ void Bitrig::AddClangCXXStdlibIncludeArg
>      if (Triple.startswith("amd64"))
>        addSystemInclude(DriverArgs, CC1Args,
>                         getDriver().SysRoot +
> "/usr/include/c++/stdc++/x86_64" +
> -                       Triple.substr(5));
> +                           Triple.substr(5));
>      else
> -      addSystemInclude(DriverArgs, CC1Args,
> -                       getDriver().SysRoot + "/usr/include/c++/stdc++/" +
> -                       Triple);
> +      addSystemInclude(DriverArgs, CC1Args, getDriver().SysRoot +
> +
> "/usr/include/c++/stdc++/" +
> +                                                Triple);
>      break;
>    }
>  }
> @@ -2649,8 +2592,9 @@ void Bitrig::AddCXXStdlibLibArgs(const A
>
>  /// FreeBSD - FreeBSD tool chain which can call as(1) and ld(1) directly.
>
> -FreeBSD::FreeBSD(const Driver &D, const llvm::Triple& Triple, const
> ArgList &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +FreeBSD::FreeBSD(const Driver &D, const llvm::Triple &Triple,
> +                 const ArgList &Args)
> +    : Generic_ELF(D, Triple, Args) {
>
>    // When targeting 32-bit platforms, look for '/usr/lib32/crt1.o' and
> fall
>    // back to '/usr/lib' if it doesn't exist.
> @@ -2662,8 +2606,7 @@ FreeBSD::FreeBSD(const Driver &D, const
>      getFilePaths().push_back(getDriver().SysRoot + "/usr/lib");
>  }
>
> -ToolChain::CXXStdlibType
> -FreeBSD::GetCXXStdlibType(const ArgList &Args) const {
> +ToolChain::CXXStdlibType FreeBSD::GetCXXStdlibType(const ArgList &Args)
> const {
>    if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
>      StringRef Value = A->getValue();
>      if (Value == "libstdc++")
> @@ -2671,10 +2614,9 @@ FreeBSD::GetCXXStdlibType(const ArgList
>      if (Value == "libc++")
>        return ToolChain::CST_Libcxx;
>
> -    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_invalid_stdlib_name) <<
> A->getAsString(Args);
>    }
> -  if (getTriple().getOSMajorVersion() >= 10)
> +  if (getTriple().getOSMajorVersion() >= 10)
>      return ToolChain::CST_Libcxx;
>    return ToolChain::CST_Libstdcxx;
>  }
> @@ -2719,13 +2661,9 @@ bool FreeBSD::UseSjLjExceptions() const
>    }
>  }
>
> -bool FreeBSD::HasNativeLLVMSupport() const {
> -  return true;
> -}
> +bool FreeBSD::HasNativeLLVMSupport() const { return true; }
>
> -bool FreeBSD::isPIEDefault() const {
> -  return getSanitizerArgs().requiresPIE();
> -}
> +bool FreeBSD::isPIEDefault() const { return
> getSanitizerArgs().requiresPIE(); }
>
>  SanitizerMask FreeBSD::getSupportedSanitizers() const {
>    const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
> @@ -2747,8 +2685,8 @@ SanitizerMask FreeBSD::getSupportedSanit
>
>  /// NetBSD - NetBSD tool chain which can call as(1) and ld(1) directly.
>
> -NetBSD::NetBSD(const Driver &D, const llvm::Triple& Triple, const ArgList
> &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +NetBSD::NetBSD(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> +    : Generic_ELF(D, Triple, Args) {
>
>    if (getDriver().UseStdLib) {
>      // When targeting a 32-bit platform, try the special directory used on
> @@ -2813,8 +2751,7 @@ ToolChain::CXXStdlibType NetBSD::GetCXXS
>      if (Value == "libc++")
>        return ToolChain::CST_Libcxx;
>
> -    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
> -      << A->getAsString(Args);
> +    getDriver().Diag(diag::err_drv_invalid_stdlib_name) <<
> A->getAsString(Args);
>    }
>
>    unsigned Major, Minor, Micro;
> @@ -2861,8 +2798,8 @@ void NetBSD::AddClangCXXStdlibIncludeArg
>
>  /// Minix - Minix tool chain which can call as(1) and ld(1) directly.
>
> -Minix::Minix(const Driver &D, const llvm::Triple& Triple, const ArgList
> &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +Minix::Minix(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> +    : Generic_ELF(D, Triple, Args) {
>    getFilePaths().push_back(getDriver().Dir + "/../lib");
>    getFilePaths().push_back("/usr/lib");
>  }
> @@ -2875,9 +2812,9 @@ Tool *Minix::buildLinker() const { retur
>
>  /// Solaris - Solaris tool chain which can call as(1) and ld(1) directly.
>
> -Solaris::Solaris(const Driver &D, const llvm::Triple& Triple,
> +Solaris::Solaris(const Driver &D, const llvm::Triple &Triple,
>                   const ArgList &Args)
> -  : Generic_GCC(D, Triple, Args) {
> +    : Generic_GCC(D, Triple, Args) {
>
>    getProgramPaths().push_back(getDriver().getInstalledDir());
>    if (getDriver().getInstalledDir() != getDriver().Dir)
> @@ -2934,9 +2871,7 @@ static bool IsRedhat(enum Distro Distro)
>    return Distro == Fedora || (Distro >= RHEL4 && Distro <= RHEL7);
>  }
>
> -static bool IsOpenSUSE(enum Distro Distro) {
> -  return Distro == OpenSUSE;
> -}
> +static bool IsOpenSUSE(enum Distro Distro) { return Distro == OpenSUSE; }
>
>  static bool IsDebian(enum Distro Distro) {
>    return Distro >= DebianLenny && Distro <= DebianStretch;
> @@ -3002,9 +2937,9 @@ static Distro DetectDistro(llvm::Triple:
>        return DebianLenny;
>      else if (Data.startswith("squeeze/sid") || Data[0] == '6')
>        return DebianSqueeze;
> -    else if (Data.startswith("wheezy/sid")  || Data[0] == '7')
> +    else if (Data.startswith("wheezy/sid") || Data[0] == '7')
>        return DebianWheezy;
> -    else if (Data.startswith("jessie/sid")  || Data[0] == '8')
> +    else if (Data.startswith("jessie/sid") || Data[0] == '8')
>        return DebianJessie;
>      else if (Data.startswith("stretch/sid") || Data[0] == '9')
>        return DebianStretch;
> @@ -3037,10 +2972,10 @@ static std::string getMultiarchTriple(co
>    default:
>      return TargetTriple.str();
>
> -    // We use the existence of '/lib/<triple>' as a directory to detect
> some
> -    // common linux triples that don't quite match the Clang triple for
> both
> -    // 32-bit and 64-bit targets. Multiarch fixes its install triples to
> these
> -    // regardless of what the actual target triple is.
> +  // We use the existence of '/lib/<triple>' as a directory to detect some
> +  // common linux triples that don't quite match the Clang triple for both
> +  // 32-bit and 64-bit targets. Multiarch fixes its install triples to
> these
> +  // regardless of what the actual target triple is.
>    case llvm::Triple::arm:
>    case llvm::Triple::thumb:
>      if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
> @@ -3124,7 +3059,8 @@ static std::string getMultiarchTriple(co
>  }
>
>  static void addPathIfExists(Twine Path, ToolChain::path_list &Paths) {
> -  if (llvm::sys::fs::exists(Path)) Paths.push_back(Path.str());
> +  if (llvm::sys::fs::exists(Path))
> +    Paths.push_back(Path.str());
>  }
>
>  static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList
> &Args) {
> @@ -3158,7 +3094,7 @@ static StringRef getOSLibDir(const llvm:
>  }
>
>  Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +    : Generic_ELF(D, Triple, Args) {
>    GCCInstallation.init(D, Triple, Args);
>    Multilibs = GCCInstallation.getMultilibs();
>    llvm::Triple::ArchType Arch = Triple.getArch();
> @@ -3174,7 +3110,8 @@ Linux::Linux(const Driver &D, const llvm
>    // FIXME: This seems unlikely to be Linux-specific.
>    ToolChain::path_list &PPaths = getProgramPaths();
>    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
> -                         GCCInstallation.getTriple().str() +
> "/bin").str());
> +                         GCCInstallation.getTriple().str() + "/bin")
> +                       .str());
>
>    Linker = GetLinkerPath();
>
> @@ -3238,8 +3175,7 @@ Linux::Linux(const Driver &D, const llvm
>
>      // Sourcery CodeBench MIPS toolchain holds some libraries under
>      // a biarch-like suffix of the GCC installation.
> -    addPathIfExists((GCCInstallation.getInstallPath() +
> -                     Multilib.gccSuffix()),
> +    addPathIfExists((GCCInstallation.getInstallPath() +
> Multilib.gccSuffix()),
>                      Paths);
>
>      // GCC cross compiling toolchains will install target libraries which
> ship
> @@ -3261,7 +3197,7 @@ Linux::Linux(const Driver &D, const llvm
>      // Note that this matches the GCC behavior. See the below comment for
> where
>      // Clang diverges from GCC's behavior.
>      addPathIfExists(LibPath + "/../" + GCCTriple.str() + "/lib/../" +
> OSLibDir +
> -                    Multilib.osSuffix(),
> +                        Multilib.osSuffix(),
>                      Paths);
>
>      // If the GCC installation we found is inside of the sysroot, we want
> to
> @@ -3298,13 +3234,14 @@ Linux::Linux(const Driver &D, const llvm
>    // installations with strange symlinks.
>    if (GCCInstallation.isValid()) {
>      addPathIfExists(SysRoot + "/usr/lib/" +
> GCCInstallation.getTriple().str() +
> -                    "/../../" + OSLibDir, Paths);
> +                        "/../../" + OSLibDir,
> +                    Paths);
>
>      // Add the 'other' biarch variant path
>      Multilib BiarchSibling;
>      if (GCCInstallation.getBiarchSibling(BiarchSibling)) {
> -      addPathIfExists(GCCInstallation.getInstallPath() +
> -                      BiarchSibling.gccSuffix(), Paths);
> +      addPathIfExists(
> +          GCCInstallation.getInstallPath() + BiarchSibling.gccSuffix(),
> Paths);
>      }
>
>      // See comments above on the multilib variant for details of why this
> is
> @@ -3312,8 +3249,9 @@ Linux::Linux(const Driver &D, const llvm
>      const std::string &LibPath = GCCInstallation.getParentLibPath();
>      const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
>      const Multilib &Multilib = GCCInstallation.getMultilib();
> -    addPathIfExists(LibPath + "/../" + GCCTriple.str() +
> -                    "/lib" + Multilib.osSuffix(), Paths);
> +    addPathIfExists(LibPath + "/../" + GCCTriple.str() + "/lib" +
> +                        Multilib.osSuffix(),
> +                    Paths);
>
>      // See comments above on the multilib variant for details of why this
> is
>      // only included from within the sysroot.
> @@ -3333,9 +3271,7 @@ Linux::Linux(const Driver &D, const llvm
>    addPathIfExists(SysRoot + "/usr/lib", Paths);
>  }
>
> -bool Linux::HasNativeLLVMSupport() const {
> -  return true;
> -}
> +bool Linux::HasNativeLLVMSupport() const { return true; }
>
>  Tool *Linux::buildLinker() const { return new
> tools::gnutools::Linker(*this); }
>
> @@ -3358,8 +3294,9 @@ std::string Linux::computeSysRoot() cons
>    const StringRef TripleStr = GCCInstallation.getTriple().str();
>    const Multilib &Multilib = GCCInstallation.getMultilib();
>
> -  std::string Path = (InstallDir + "/../../../../" + TripleStr + "/libc" +
> -                      Multilib.osSuffix()).str();
> +  std::string Path =
> +      (InstallDir + "/../../../../" + TripleStr + "/libc" +
> Multilib.osSuffix())
> +          .str();
>
>    if (llvm::sys::fs::exists(Path))
>      return Path;
> @@ -3422,60 +3359,44 @@ void Linux::AddClangSystemIncludeArgs(co
>
>    // Implement generic Debian multiarch support.
>    const StringRef X86_64MultiarchIncludeDirs[] = {
> -    "/usr/include/x86_64-linux-gnu",
> +      "/usr/include/x86_64-linux-gnu",
>
> -    // FIXME: These are older forms of multiarch. It's not clear that
> they're
> -    // in use in any released version of Debian, so we should consider
> -    // removing them.
> -    "/usr/include/i686-linux-gnu/64", "/usr/include/i486-linux-gnu/64"
> -  };
> +      // FIXME: These are older forms of multiarch. It's not clear that
> they're
> +      // in use in any released version of Debian, so we should consider
> +      // removing them.
> +      "/usr/include/i686-linux-gnu/64", "/usr/include/i486-linux-gnu/64"};
>    const StringRef X86MultiarchIncludeDirs[] = {
> -    "/usr/include/i386-linux-gnu",
> +      "/usr/include/i386-linux-gnu",
>
> -    // FIXME: These are older forms of multiarch. It's not clear that
> they're
> -    // in use in any released version of Debian, so we should consider
> -    // removing them.
> -    "/usr/include/x86_64-linux-gnu/32", "/usr/include/i686-linux-gnu",
> -    "/usr/include/i486-linux-gnu"
> -  };
> +      // FIXME: These are older forms of multiarch. It's not clear that
> they're
> +      // in use in any released version of Debian, so we should consider
> +      // removing them.
> +      "/usr/include/x86_64-linux-gnu/32", "/usr/include/i686-linux-gnu",
> +      "/usr/include/i486-linux-gnu"};
>    const StringRef AArch64MultiarchIncludeDirs[] = {
> -    "/usr/include/aarch64-linux-gnu"
> -  };
> +      "/usr/include/aarch64-linux-gnu"};
>    const StringRef ARMMultiarchIncludeDirs[] = {
> -    "/usr/include/arm-linux-gnueabi"
> -  };
> +      "/usr/include/arm-linux-gnueabi"};
>    const StringRef ARMHFMultiarchIncludeDirs[] = {
> -    "/usr/include/arm-linux-gnueabihf"
> -  };
> -  const StringRef MIPSMultiarchIncludeDirs[] = {
> -    "/usr/include/mips-linux-gnu"
> -  };
> +      "/usr/include/arm-linux-gnueabihf"};
> +  const StringRef MIPSMultiarchIncludeDirs[] =
> {"/usr/include/mips-linux-gnu"};
>    const StringRef MIPSELMultiarchIncludeDirs[] = {
> -    "/usr/include/mipsel-linux-gnu"
> -  };
> +      "/usr/include/mipsel-linux-gnu"};
>    const StringRef MIPS64MultiarchIncludeDirs[] = {
> -    "/usr/include/mips64-linux-gnu",
> -    "/usr/include/mips64-linux-gnuabi64"
> -  };
> +      "/usr/include/mips64-linux-gnu",
> "/usr/include/mips64-linux-gnuabi64"};
>    const StringRef MIPS64ELMultiarchIncludeDirs[] = {
> -    "/usr/include/mips64el-linux-gnu",
> -    "/usr/include/mips64el-linux-gnuabi64"
> -  };
> +      "/usr/include/mips64el-linux-gnu",
> +      "/usr/include/mips64el-linux-gnuabi64"};
>    const StringRef PPCMultiarchIncludeDirs[] = {
> -    "/usr/include/powerpc-linux-gnu"
> -  };
> +      "/usr/include/powerpc-linux-gnu"};
>    const StringRef PPC64MultiarchIncludeDirs[] = {
> -    "/usr/include/powerpc64-linux-gnu"
> -  };
> +      "/usr/include/powerpc64-linux-gnu"};
>    const StringRef PPC64LEMultiarchIncludeDirs[] = {
> -    "/usr/include/powerpc64le-linux-gnu"
> -  };
> +      "/usr/include/powerpc64le-linux-gnu"};
>    const StringRef SparcMultiarchIncludeDirs[] = {
> -    "/usr/include/sparc-linux-gnu"
> -  };
> +      "/usr/include/sparc-linux-gnu"};
>    const StringRef Sparc64MultiarchIncludeDirs[] = {
> -    "/usr/include/sparc64-linux-gnu"
> -  };
> +      "/usr/include/sparc64-linux-gnu"};
>    ArrayRef<StringRef> MultiarchIncludeDirs;
>    switch (getTriple().getArch()) {
>    case llvm::Triple::x86_64:
> @@ -3543,13 +3464,10 @@ void Linux::AddClangSystemIncludeArgs(co
>  }
>
>  /// \brief Helper to add the variant paths of a libstdc++ installation.
> -/*static*/ bool Linux::addLibStdCXXIncludePaths(Twine Base, Twine Suffix,
> -                                                StringRef GCCTriple,
> -                                                StringRef
> GCCMultiarchTriple,
> -                                                StringRef
> TargetMultiarchTriple,
> -                                                Twine IncludeSuffix,
> -                                                const ArgList &DriverArgs,
> -                                                ArgStringList &CC1Args) {
> +/*static*/ bool Linux::addLibStdCXXIncludePaths(
> +    Twine Base, Twine Suffix, StringRef GCCTriple, StringRef
> GCCMultiarchTriple,
> +    StringRef TargetMultiarchTriple, Twine IncludeSuffix,
> +    const ArgList &DriverArgs, ArgStringList &CC1Args) {
>    if (!llvm::sys::fs::exists(Base + Suffix))
>      return false;
>
> @@ -3587,15 +3505,15 @@ void Linux::AddClangCXXStdlibIncludeArgs
>    // Check if libc++ has been enabled and provide its include paths if so.
>    if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
>      const std::string LibCXXIncludePathCandidates[] = {
> -      // The primary location is within the Clang installation.
> -      // FIXME: We shouldn't hard code 'v1' here to make Clang future
> proof to
> -      // newer ABI versions.
> -      getDriver().Dir + "/../include/c++/v1",
> -
> -      // We also check the system as for a long time this is the only
> place Clang looked.
> -      // FIXME: We should really remove this. It doesn't make any sense.
> -      getDriver().SysRoot + "/usr/include/c++/v1"
> -    };
> +        // The primary location is within the Clang installation.
> +        // FIXME: We shouldn't hard code 'v1' here to make Clang future
> proof to
> +        // newer ABI versions.
> +        getDriver().Dir + "/../include/c++/v1",
> +
> +        // We also check the system as for a long time this is the only
> place
> +        // Clang looked.
> +        // FIXME: We should really remove this. It doesn't make any sense.
> +        getDriver().SysRoot + "/usr/include/c++/v1"};
>      for (const auto &IncludePath : LibCXXIncludePathCandidates) {
>        if (!llvm::sys::fs::exists(IncludePath))
>          continue;
> @@ -3626,24 +3544,24 @@ void Linux::AddClangCXXStdlibIncludeArgs
>
>    // The primary search for libstdc++ supports multiarch variants.
>    if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
> -                               "/c++/" + Version.Text, TripleStr,
> GCCMultiarchTriple,
> -                               TargetMultiarchTriple,
> +                               "/c++/" + Version.Text, TripleStr,
> +                               GCCMultiarchTriple, TargetMultiarchTriple,
>                                 Multilib.includeSuffix(), DriverArgs,
> CC1Args))
>      return;
>
>    // Otherwise, fall back on a bunch of options which don't use multiarch
>    // layouts for simplicity.
>    const std::string LibStdCXXIncludePathCandidates[] = {
> -    // Gentoo is weird and places its headers inside the GCC install, so
> if the
> -    // first attempt to find the headers fails, try these patterns.
> -    InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
> -        Version.MinorStr,
> -    InstallDir.str() + "/include/g++-v" + Version.MajorStr,
> -    // Android standalone toolchain has C++ headers in yet another place.
> -    LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" +
> Version.Text,
> -    // Freescale SDK C++ headers are directly in
> <sysroot>/usr/include/c++,
> -    // without a subdirectory corresponding to the gcc version.
> -    LibDir.str() + "/../include/c++",
> +      // Gentoo is weird and places its headers inside the GCC install,
> +      // so if the first attempt to find the headers fails, try these
> patterns.
> +      InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
> +          Version.MinorStr,
> +      InstallDir.str() + "/include/g++-v" + Version.MajorStr,
> +      // Android standalone toolchain has C++ headers in yet another
> place.
> +      LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" +
> Version.Text,
> +      // Freescale SDK C++ headers are directly in
> <sysroot>/usr/include/c++,
> +      // without a subdirectory corresponding to the gcc version.
> +      LibDir.str() + "/../include/c++",
>    };
>
>    for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
> @@ -3655,9 +3573,7 @@ void Linux::AddClangCXXStdlibIncludeArgs
>    }
>  }
>
> -bool Linux::isPIEDefault() const {
> -  return getSanitizerArgs().requiresPIE();
> -}
> +bool Linux::isPIEDefault() const { return
> getSanitizerArgs().requiresPIE(); }
>
>  SanitizerMask Linux::getSupportedSanitizers() const {
>    const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
> @@ -3686,8 +3602,9 @@ SanitizerMask Linux::getSupportedSanitiz
>
>  /// DragonFly - DragonFly tool chain which can call as(1) and ld(1)
> directly.
>
> -DragonFly::DragonFly(const Driver &D, const llvm::Triple& Triple, const
> ArgList &Args)
> -  : Generic_ELF(D, Triple, Args) {
> +DragonFly::DragonFly(const Driver &D, const llvm::Triple &Triple,
> +                     const ArgList &Args)
> +    : Generic_ELF(D, Triple, Args) {
>
>    // Path mangling to find libexec
>    getProgramPaths().push_back(getDriver().getInstalledDir());
> @@ -3711,8 +3628,8 @@ Tool *DragonFly::buildLinker() const {
>  }
>
>  /// XCore tool chain
> -XCore::XCore(const Driver &D, const llvm::Triple &Triple,
> -             const ArgList &Args) : ToolChain(D, Triple, Args) {
> +XCore::XCore(const Driver &D, const llvm::Triple &Triple, const ArgList
> &Args)
> +    : ToolChain(D, Triple, Args) {
>    // ProgramPaths are found via 'PATH' environment variable.
>  }
>
> @@ -3724,21 +3641,13 @@ Tool *XCore::buildLinker() const { retur
>
>  bool XCore::isPICDefault() const { return false; }
>
> -bool XCore::isPIEDefault() const {
> -  return false;
> -}
> +bool XCore::isPIEDefault() const { return false; }
>
> -bool XCore::isPICDefaultForced() const {
> -  return false;
> -}
> +bool XCore::isPICDefaultForced() const { return false; }
>
> -bool XCore::SupportsProfiling() const {
> -  return false;
> -}
> +bool XCore::SupportsProfiling() const { return false; }
>
> -bool XCore::hasBlocksRuntime() const {
> -  return false;
> -}
> +bool XCore::hasBlocksRuntime() const { return false; }
>
>  void XCore::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
>                                        ArgStringList &CC1Args) const {
> @@ -3747,7 +3656,7 @@ void XCore::AddClangSystemIncludeArgs(co
>      return;
>    if (const char *cl_include_dir = getenv("XCC_C_INCLUDE_PATH")) {
>      SmallVector<StringRef, 4> Dirs;
> -    const char EnvPathSeparatorStr[] = {llvm::sys::EnvPathSeparator,'\0'};
> +    const char EnvPathSeparatorStr[] = {llvm::sys::EnvPathSeparator,
> '\0'};
>      StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr));
>      ArrayRef<StringRef> DirVec(Dirs);
>      addSystemIncludes(DriverArgs, CC1Args, DirVec);
> @@ -3767,7 +3676,7 @@ void XCore::AddClangCXXStdlibIncludeArgs
>      return;
>    if (const char *cl_include_dir = getenv("XCC_CPLUS_INCLUDE_PATH")) {
>      SmallVector<StringRef, 4> Dirs;
> -    const char EnvPathSeparatorStr[] = {llvm::sys::EnvPathSeparator,'\0'};
> +    const char EnvPathSeparatorStr[] = {llvm::sys::EnvPathSeparator,
> '\0'};
>      StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr));
>      ArrayRef<StringRef> DirVec(Dirs);
>      addSystemIncludes(DriverArgs, CC1Args, DirVec);
> @@ -3797,7 +3706,7 @@ Tool *SHAVEToolChain::SelectTool(const J
>  }
>
>  SHAVEToolChain::SHAVEToolChain(const Driver &D, const llvm::Triple
> &Triple,
> -                     const ArgList &Args)
> +                               const ArgList &Args)
>      : Generic_GCC(D, Triple, Args) {}
>
>  SHAVEToolChain::~SHAVEToolChain() {}
>
> Modified: cfe/trunk/lib/Driver/ToolChains.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=240791&r1=240790&r2=240791&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains.h Fri Jun 26 10:47:46 2015
> @@ -101,7 +101,7 @@ protected:
>    public:
>      GCCInstallationDetector() : IsValid(false) {}
>      void init(const Driver &D, const llvm::Triple &TargetTriple,
> -                            const llvm::opt::ArgList &Args);
> +              const llvm::opt::ArgList &Args);
>
>      /// \brief Check whether we detected a valid GCC install.
>      bool isValid() const { return IsValid; }
> @@ -188,6 +188,7 @@ protected:
>    Tool *buildAssembler() const override;
>    Tool *buildLinker() const override;
>    Tool *getTool(Action::ActionClass AC) const override;
> +
>  private:
>    mutable std::unique_ptr<tools::darwin::Lipo> Lipo;
>    mutable std::unique_ptr<tools::darwin::Dsymutil> Dsymutil;
> @@ -195,7 +196,7 @@ private:
>
>  public:
>    MachO(const Driver &D, const llvm::Triple &Triple,
> -             const llvm::opt::ArgList &Args);
> +        const llvm::opt::ArgList &Args);
>    ~MachO() override;
>
>    /// @name MachO specific toolchain API
> @@ -205,7 +206,6 @@ public:
>    /// example, Apple treats different ARM variations as distinct
> architectures.
>    StringRef getMachOArchName(const llvm::opt::ArgList &Args) const;
>
> -
>    /// Add the linker arguments to link the ARC runtime library.
>    virtual void AddLinkARCArgs(const llvm::opt::ArgList &Args,
>                                llvm::opt::ArgStringList &CmdArgs) const {}
> @@ -214,30 +214,24 @@ public:
>    virtual void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args,
>                                       llvm::opt::ArgStringList &CmdArgs)
> const;
>
> -  virtual void
> -  addStartObjectFileArgs(const llvm::opt::ArgList &Args,
> -                         llvm::opt::ArgStringList &CmdArgs) const {}
> +  virtual void addStartObjectFileArgs(const llvm::opt::ArgList &Args,
> +                                      llvm::opt::ArgStringList &CmdArgs)
> const {
> +  }
>
>    virtual void addMinVersionArgs(const llvm::opt::ArgList &Args,
>                                   llvm::opt::ArgStringList &CmdArgs) const
> {}
>
>    /// On some iOS platforms, kernel and kernel modules were built
> statically. Is
>    /// this such a target?
> -  virtual bool isKernelStatic() const {
> -    return false;
> -  }
> +  virtual bool isKernelStatic() const { return false; }
>
>    /// Is the target either iOS or an iOS simulator?
> -  bool isTargetIOSBased() const {
> -    return false;
> -  }
> +  bool isTargetIOSBased() const { return false; }
>
>    void AddLinkRuntimeLib(const llvm::opt::ArgList &Args,
>                           llvm::opt::ArgStringList &CmdArgs,
> -                         StringRef DarwinLibName,
> -                         bool AlwaysLink = false,
> -                         bool IsEmbedded = false,
> -                         bool AddRPath = false) const;
> +                         StringRef DarwinLibName, bool AlwaysLink = false,
> +                         bool IsEmbedded = false, bool AddRPath = false)
> const;
>
>    /// Add any profiling runtime libraries that are needed. This is
> essentially a
>    /// MachO specific version of addProfileRT in Tools.cpp.
> @@ -271,22 +265,16 @@ public:
>      return true;
>    }
>
> -  bool IsMathErrnoDefault() const override {
> -    return false;
> -  }
> +  bool IsMathErrnoDefault() const override { return false; }
>
> -  bool IsEncodeExtendedBlockSignatureDefault() const override {
> -    return true;
> -  }
> +  bool IsEncodeExtendedBlockSignatureDefault() const override { return
> true; }
>
>    bool IsObjCNonFragileABIDefault() const override {
>      // Non-fragile ABI is default for everything but i386.
>      return getTriple().getArch() != llvm::Triple::x86;
>    }
>
> -  bool UseObjCMixedDispatch() const override {
> -    return true;
> -  }
> +  bool UseObjCMixedDispatch() const override { return true; }
>
>    bool IsUnwindTablesDefault() const override;
>
> @@ -300,20 +288,16 @@ public:
>
>    bool SupportsProfiling() const override;
>
> -  bool SupportsObjCGC() const override {
> -    return false;
> -  }
> +  bool SupportsObjCGC() const override { return false; }
>
>    bool UseDwarfDebugFlags() const override;
>
> -  bool UseSjLjExceptions() const override {
> -    return false;
> -  }
> +  bool UseSjLjExceptions() const override { return false; }
>
>    /// }
>  };
>
> -  /// Darwin - The base Darwin tool chain.
> +/// Darwin - The base Darwin tool chain.
>  class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
>  public:
>    /// Whether the information on the target has been initialized.
> @@ -323,11 +307,7 @@ public:
>    // the argument translation business.
>    mutable bool TargetInitialized;
>
> -  enum DarwinPlatformKind {
> -    MacOS,
> -    IPhoneOS,
> -    IPhoneOSSimulator
> -  };
> +  enum DarwinPlatformKind { MacOS, IPhoneOS, IPhoneOSSimulator };
>
>    mutable DarwinPlatformKind TargetPlatform;
>
> @@ -348,14 +328,12 @@ public:
>    /// @name Apple Specific Toolchain Implementation
>    /// {
>
> -  void
> -  addMinVersionArgs(const llvm::opt::ArgList &Args,
> -                    llvm::opt::ArgStringList &CmdArgs) const override;
> -
> -  void
> -  addStartObjectFileArgs(const llvm::opt::ArgList &Args,
> +  void addMinVersionArgs(const llvm::opt::ArgList &Args,
>                           llvm::opt::ArgStringList &CmdArgs) const
> override;
>
> +  void addStartObjectFileArgs(const llvm::opt::ArgList &Args,
> +                              llvm::opt::ArgStringList &CmdArgs) const
> override;
> +
>    bool isKernelStatic() const override {
>      return !isTargetIPhoneOS() || isIPhoneOSVersionLT(6, 0);
>    }
> @@ -411,12 +389,13 @@ protected:
>      return TargetVersion;
>    }
>
> -  bool isIPhoneOSVersionLT(unsigned V0, unsigned V1=0, unsigned V2=0)
> const {
> +  bool isIPhoneOSVersionLT(unsigned V0, unsigned V1 = 0,
> +                           unsigned V2 = 0) const {
>      assert(isTargetIOSBased() && "Unexpected call for non iOS target!");
>      return TargetVersion < VersionTuple(V0, V1, V2);
>    }
>
> -  bool isMacosxVersionLT(unsigned V0, unsigned V1=0, unsigned V2=0) const
> {
> +  bool isMacosxVersionLT(unsigned V0, unsigned V1 = 0, unsigned V2 = 0)
> const {
>      assert(isTargetMacOS() && "Unexpected call for non OS X target!");
>      return TargetVersion < VersionTuple(V0, V1, V2);
>    }
> @@ -476,23 +455,19 @@ public:
>    /// @name Apple ToolChain Implementation
>    /// {
>
> -  void
> -  AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args,
> -                        llvm::opt::ArgStringList &CmdArgs) const override;
> +  void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args,
> +                             llvm::opt::ArgStringList &CmdArgs) const
> override;
>
> -  void
> -  AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
> -                      llvm::opt::ArgStringList &CmdArgs) const override;
> +  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
> +                           llvm::opt::ArgStringList &CmdArgs) const
> override;
>
> -  void
> -  AddCCKextLibArgs(const llvm::opt::ArgList &Args,
> -                   llvm::opt::ArgStringList &CmdArgs) const override;
> +  void AddCCKextLibArgs(const llvm::opt::ArgList &Args,
> +                        llvm::opt::ArgStringList &CmdArgs) const override;
>
>    void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const
> override;
>
> -  void
> -  AddLinkARCArgs(const llvm::opt::ArgList &Args,
> -                 llvm::opt::ArgStringList &CmdArgs) const override;
> +  void AddLinkARCArgs(const llvm::opt::ArgList &Args,
> +                      llvm::opt::ArgStringList &CmdArgs) const override;
>    /// }
>
>  private:
> @@ -503,6 +478,7 @@ private:
>
>  class LLVM_LIBRARY_VISIBILITY Generic_ELF : public Generic_GCC {
>    virtual void anchor();
> +
>  public:
>    Generic_ELF(const Driver &D, const llvm::Triple &Triple,
>                const llvm::opt::ArgList &Args)
> @@ -521,8 +497,8 @@ public:
>    bool IsMathErrnoDefault() const override { return false; }
>    bool IsObjCNonFragileABIDefault() const override { return true; }
>
> -  CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args)
> -      const override {
> +  CXXStdlibType
> +  GetCXXStdlibType(const llvm::opt::ArgList &Args) const override {
>      return ToolChain::CST_Libcxx;
>    }
>    void AddClangCXXStdlibIncludeArgs(
> @@ -543,13 +519,12 @@ public:
>            const llvm::opt::ArgList &Args);
>
>    bool IsIntegratedAssemblerDefault() const override { return true; }
> +
>  protected:
>    Tool *buildAssembler() const override;
>    Tool *buildLinker() const override;
> -
>  };
>
> -
>  class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF {
>  public:
>    OpenBSD(const Driver &D, const llvm::Triple &Triple,
> @@ -577,13 +552,13 @@ public:
>    bool IsObjCNonFragileABIDefault() const override { return true; }
>
>    CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                              llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>    void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
>                             llvm::opt::ArgStringList &CmdArgs) const
> override;
>    unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const
> override {
> -     return 1;
> +    return 1;
>    }
>
>  protected:
> @@ -601,13 +576,14 @@ public:
>    bool IsObjCNonFragileABIDefault() const override { return true; }
>
>    CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                               llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>
>    bool UseSjLjExceptions() const override;
>    bool isPIEDefault() const override;
>    SanitizerMask getSupportedSanitizers() const override;
> +
>  protected:
>    Tool *buildAssembler() const override;
>    Tool *buildLinker() const override;
> @@ -623,12 +599,10 @@ public:
>
>    CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
>
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                              llvm::opt::ArgStringList &CC1Args) const
> override;
> -  bool IsUnwindTablesDefault() const override {
> -    return true;
> -  }
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
> +  bool IsUnwindTablesDefault() const override { return true; }
>
>  protected:
>    Tool *buildAssembler() const override;
> @@ -667,9 +641,9 @@ public:
>    void
>    AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
>                              llvm::opt::ArgStringList &CC1Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                               llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>    bool isPIEDefault() const override;
>    SanitizerMask getSupportedSanitizers() const override;
>
> @@ -706,9 +680,9 @@ public:
>    void
>    AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
>                              llvm::opt::ArgStringList &CC1Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                              llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>    CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
>
>    StringRef GetGCCLibAndIncVersion() const { return
> GCCLibAndIncVersion.Text; }
> @@ -720,7 +694,7 @@ public:
>
>    static const char *GetSmallDataThreshold(const llvm::opt::ArgList
> &Args);
>
> -  static bool UsesG0(const char* smallDataThreshold);
> +  static bool UsesG0(const char *smallDataThreshold);
>  };
>
>  class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF {
> @@ -731,19 +705,16 @@ public:
>    void
>    AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
>                              llvm::opt::ArgStringList &CC1Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                               llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>
> -  CXXStdlibType
> -  GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
> +  CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const
> override;
>
> -  void
> -  AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
> -                      llvm::opt::ArgStringList &CmdArgs) const override;
> +  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
> +                           llvm::opt::ArgStringList &CmdArgs) const
> override;
>
> -  bool
> -  IsIntegratedAssemblerDefault() const override { return false; }
> +  bool IsIntegratedAssemblerDefault() const override { return false; }
>
>    // Get the path to the file containing NaCl's ARM macros. It lives in
> NaCl_TC
>    // because the AssembleARM tool needs a const char * that it can pass
> around
> @@ -790,9 +761,9 @@ public:
>    void
>    AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
>                              llvm::opt::ArgStringList &CC1Args) const
> override;
> -  void
> -  AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                               llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>
>    bool getWindowsSDKDir(std::string &path, int &major, int &minor) const;
>    bool getWindowsSDKLibraryPath(std::string &path) const;
> @@ -829,12 +800,12 @@ public:
>      return 0;
>    }
>
> -  void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                                 llvm::opt::ArgStringList &CC1Args)
> -      const override;
> -  void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                                    llvm::opt::ArgStringList &CC1Args)
> -      const override;
> +  void
> +  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> +                            llvm::opt::ArgStringList &CC1Args) const
> override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>    void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
>                             llvm::opt::ArgStringList &CmdArgs) const
> override;
>
> @@ -846,22 +817,26 @@ protected:
>  class LLVM_LIBRARY_VISIBILITY XCore : public ToolChain {
>  public:
>    XCore(const Driver &D, const llvm::Triple &Triple,
> -          const llvm::opt::ArgList &Args);
> +        const llvm::opt::ArgList &Args);
> +
>  protected:
>    Tool *buildAssembler() const override;
>    Tool *buildLinker() const override;
> +
>  public:
>    bool isPICDefault() const override;
>    bool isPIEDefault() const override;
>    bool isPICDefaultForced() const override;
>    bool SupportsProfiling() const override;
>    bool hasBlocksRuntime() const override;
> -  void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                    llvm::opt::ArgStringList &CC1Args) const override;
> +  void
> +  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> +                            llvm::opt::ArgStringList &CC1Args) const
> override;
>    void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
>                               llvm::opt::ArgStringList &CC1Args) const
> override;
> -  void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
> -                       llvm::opt::ArgStringList &CC1Args) const override;
> +  void AddClangCXXStdlibIncludeArgs(
> +      const llvm::opt::ArgList &DriverArgs,
> +      llvm::opt::ArgStringList &CC1Args) const override;
>    void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
>                             llvm::opt::ArgStringList &CmdArgs) const
> override;
>  };
> @@ -872,7 +847,7 @@ public:
>  class LLVM_LIBRARY_VISIBILITY SHAVEToolChain : public Generic_GCC {
>  public:
>    SHAVEToolChain(const Driver &D, const llvm::Triple &Triple,
> -            const llvm::opt::ArgList &Args);
> +                 const llvm::opt::ArgList &Args);
>    ~SHAVEToolChain() override;
>
>    virtual Tool *SelectTool(const JobAction &JA) const override;
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=240791&r1=240790&r2=240791&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Fri Jun 26 10:47:46 2015
> @@ -84,10 +84,10 @@ static void CheckPreprocessingOptions(co
>  static void CheckCodeGenerationOptions(const Driver &D, const ArgList
> &Args) {
>    // In gcc, only ARM checks this, but it seems reasonable to check
> universally.
>    if (Args.hasArg(options::OPT_static))
> -    if (const Arg *A = Args.getLastArg(options::OPT_dynamic,
> -                                       options::OPT_mdynamic_no_pic))
> -      D.Diag(diag::err_drv_argument_not_allowed_with)
> -        << A->getAsString(Args) << "-static";
> +    if (const Arg *A =
> +            Args.getLastArg(options::OPT_dynamic,
> options::OPT_mdynamic_no_pic))
> +      D.Diag(diag::err_drv_argument_not_allowed_with) <<
> A->getAsString(Args)
> +                                                      << "-static";
>  }
>
>  // Add backslashes to escape spaces and other backslashes.
> @@ -95,9 +95,10 @@ static void CheckCodeGenerationOptions(c
>  // the -dwarf-debug-flags option.
>  static void EscapeSpacesAndBackslashes(const char *Arg,
>                                         SmallVectorImpl<char> &Res) {
> -  for ( ; *Arg; ++Arg) {
> +  for (; *Arg; ++Arg) {
>      switch (*Arg) {
> -    default: break;
> +    default:
> +      break;
>      case ' ':
>      case '\\':
>        Res.push_back('\\');
> @@ -109,8 +110,7 @@ static void EscapeSpacesAndBackslashes(c
>
>  // Quote target names for inclusion in GNU Make dependency files.
>  // Only the characters '$', '#', ' ', '\t' are quoted.
> -static void QuoteTarget(StringRef Target,
> -                        SmallVectorImpl<char> &Res) {
> +static void QuoteTarget(StringRef Target, SmallVectorImpl<char> &Res) {
>    for (unsigned i = 0, e = Target.size(); i != e; ++i) {
>      switch (Target[i]) {
>      case ' ':
> @@ -136,10 +136,8 @@ static void QuoteTarget(StringRef Target
>    }
>  }
>
> -static void addDirectoryList(const ArgList &Args,
> -                             ArgStringList &CmdArgs,
> -                             const char *ArgName,
> -                             const char *EnvVar) {
> +static void addDirectoryList(const ArgList &Args, ArgStringList &CmdArgs,
> +                             const char *ArgName, const char *EnvVar) {
>    const char *DirList = ::getenv(EnvVar);
>    bool CombinedArg = false;
>
> @@ -165,7 +163,8 @@ static void addDirectoryList(const ArgLi
>        }
>      } else {
>        if (CombinedArg) {
> -        CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) +
> Dirs.substr(0, Delim)));
> +        CmdArgs.push_back(
> +            Args.MakeArgString(std::string(ArgName) + Dirs.substr(0,
> Delim)));
>        } else {
>          CmdArgs.push_back(ArgName);
>          CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
> @@ -191,9 +190,8 @@ static void addDirectoryList(const ArgLi
>    }
>  }
>
> -static void AddLinkerInputs(const ToolChain &TC,
> -                            const InputInfoList &Inputs, const ArgList
> &Args,
> -                            ArgStringList &CmdArgs) {
> +static void AddLinkerInputs(const ToolChain &TC, const InputInfoList
> &Inputs,
> +                            const ArgList &Args, ArgStringList &CmdArgs) {
>    const Driver &D = TC.getDriver();
>
>    // Add extra linker input arguments which are not treated as inputs
> @@ -205,10 +203,8 @@ static void AddLinkerInputs(const ToolCh
>        // Don't try to pass LLVM inputs unless we have native support.
>        if (II.getType() == types::TY_LLVM_IR ||
>            II.getType() == types::TY_LTO_IR ||
> -          II.getType() == types::TY_LLVM_BC ||
> -          II.getType() == types::TY_LTO_BC)
> -        D.Diag(diag::err_drv_no_linker_llvm_support)
> -          << TC.getTripleString();
> +          II.getType() == types::TY_LLVM_BC || II.getType() ==
> types::TY_LTO_BC)
> +        D.Diag(diag::err_drv_no_linker_llvm_support) <<
> TC.getTripleString();
>      }
>
>      // Add filenames immediately.
> @@ -230,7 +226,7 @@ static void AddLinkerInputs(const ToolCh
>        A.claim();
>        A.render(Args, CmdArgs);
>      } else {
> -       A.renderAsInput(Args, CmdArgs);
> +      A.renderAsInput(Args, CmdArgs);
>      }
>    }
>
> @@ -259,14 +255,11 @@ static bool forwardToGCC(const Option &O
>    // Don't forward inputs from the original command line.  They are added
> from
>    // InputInfoList.
>    return O.getKind() != Option::InputClass &&
> -         !O.hasFlag(options::DriverOption) &&
> -         !O.hasFlag(options::LinkerInput);
> +         !O.hasFlag(options::DriverOption) &&
> !O.hasFlag(options::LinkerInput);
>  }
>
> -void Clang::AddPreprocessingOptions(Compilation &C,
> -                                    const JobAction &JA,
> -                                    const Driver &D,
> -                                    const ArgList &Args,
> +void Clang::AddPreprocessingOptions(Compilation &C, const JobAction &JA,
> +                                    const Driver &D, const ArgList &Args,
>                                      ArgStringList &CmdArgs,
>                                      const InputInfo &Output,
>                                      const InputInfoList &Inputs) const {
> @@ -333,7 +326,7 @@ void Clang::AddPreprocessingOptions(Comp
>
>    if (Args.hasArg(options::OPT_MG)) {
>      if (!A || A->getOption().matches(options::OPT_MD) ||
> -              A->getOption().matches(options::OPT_MMD))
> +        A->getOption().matches(options::OPT_MMD))
>        D.Diag(diag::err_drv_mg_requires_m_or_mm);
>      CmdArgs.push_back("-MG");
>    }
> @@ -351,7 +344,7 @@ void Clang::AddPreprocessingOptions(Comp
>        QuoteTarget(A->getValue(), Quoted);
>        CmdArgs.push_back(Args.MakeArgString(Quoted));
>
> -    // -MT flag - no change
> +      // -MT flag - no change
>      } else {
>        A->render(Args, CmdArgs);
>      }
> @@ -408,8 +401,8 @@ void Clang::AddPreprocessingOptions(Comp
>            continue;
>          } else {
>            // Ignore the PCH if not first on command line and emit warning.
> -          D.Diag(diag::warn_drv_pch_not_first_include)
> -              << P << A->getAsString(Args);
> +          D.Diag(diag::warn_drv_pch_not_first_include) << P
> +                                                       <<
> A->getAsString(Args);
>          }
>        }
>      }
> @@ -511,8 +504,8 @@ static bool isNoCommonDefault(const llvm
>
>  // Handle -mhwdiv=.
>  static void getARMHWDivFeatures(const Driver &D, const Arg *A,
> -                              const ArgList &Args,
> -                              std::vector<const char *> &Features) {
> +                                const ArgList &Args,
> +                                std::vector<const char *> &Features) {
>    StringRef HWDiv = A->getValue();
>    if (HWDiv == "arm") {
>      Features.push_back("+hwdiv-arm");
> @@ -556,9 +549,9 @@ static bool isARMMProfile(const llvm::Tr
>  StringRef tools::arm::getARMFloatABI(const Driver &D, const ArgList &Args,
>                                       const llvm::Triple &Triple) {
>    StringRef FloatABI;
> -  if (Arg *A = Args.getLastArg(options::OPT_msoft_float,
> -                               options::OPT_mhard_float,
> -                               options::OPT_mfloat_abi_EQ)) {
> +  if (Arg *A =
> +          Args.getLastArg(options::OPT_msoft_float,
> options::OPT_mhard_float,
> +                          options::OPT_mfloat_abi_EQ)) {
>      if (A->getOption().matches(options::OPT_msoft_float))
>        FloatABI = "soft";
>      else if (A->getOption().matches(options::OPT_mhard_float))
> @@ -566,8 +559,7 @@ StringRef tools::arm::getARMFloatABI(con
>      else {
>        FloatABI = A->getValue();
>        if (FloatABI != "soft" && FloatABI != "softfp" && FloatABI !=
> "hard") {
> -        D.Diag(diag::err_drv_invalid_mfloat_abi)
> -          << A->getAsString(Args);
> +        D.Diag(diag::err_drv_invalid_mfloat_abi) << A->getAsString(Args);
>          FloatABI = "soft";
>        }
>      }
> @@ -595,7 +587,7 @@ StringRef tools::arm::getARMFloatABI(con
>        break;
>
>      case llvm::Triple::FreeBSD:
> -      switch(Triple.getEnvironment()) {
> +      switch (Triple.getEnvironment()) {
>        case llvm::Triple::GNUEABIHF:
>          FloatABI = "hard";
>          break;
> @@ -607,7 +599,7 @@ StringRef tools::arm::getARMFloatABI(con
>        break;
>
>      default:
> -      switch(Triple.getEnvironment()) {
> +      switch (Triple.getEnvironment()) {
>        case llvm::Triple::GNUEABIHF:
>          FloatABI = "hard";
>          break;
> @@ -715,8 +707,7 @@ static void getARMTargetFeatures(const D
>    }
>  }
>
> -void Clang::AddARMTargetArgs(const ArgList &Args,
> -                             ArgStringList &CmdArgs,
> +void Clang::AddARMTargetArgs(const ArgList &Args, ArgStringList &CmdArgs,
>                               bool KernelOrKext) const {
>    const Driver &D = getToolChain().getDriver();
>    // Get the effective triple, which takes into account the deployment
> target.
> @@ -734,8 +725,7 @@ void Clang::AddARMTargetArgs(const ArgLi
>      // The backend is hardwired to assume AAPCS for M-class processors,
> ensure
>      // the frontend matches that.
>      if (Triple.getEnvironment() == llvm::Triple::EABI ||
> -        Triple.getOS() == llvm::Triple::UnknownOS ||
> -        isARMMProfile(Triple)) {
> +        Triple.getOS() == llvm::Triple::UnknownOS ||
> isARMMProfile(Triple)) {
>        ABIName = "aapcs";
>      } else {
>        ABIName = "apcs-gnu";
> @@ -745,7 +735,7 @@ void Clang::AddARMTargetArgs(const ArgLi
>      ABIName = "aapcs";
>    } else {
>      // Select the default based on the platform.
> -    switch(Triple.getEnvironment()) {
> +    switch (Triple.getEnvironment()) {
>      case llvm::Triple::Android:
>      case llvm::Triple::GNUEABI:
>      case llvm::Triple::GNUEABIHF:
> @@ -827,8 +817,7 @@ void Clang::AddARMTargetArgs(const ArgLi
>    }
>
>    if (!Args.hasFlag(options::OPT_mimplicit_float,
> -                    options::OPT_mno_implicit_float,
> -                    true))
> +                    options::OPT_mno_implicit_float, true))
>      CmdArgs.push_back("-no-implicit-float");
>
>    // llvm does not support reserving registers in general. There is
> support
> @@ -932,10 +921,8 @@ void Clang::AddAArch64TargetArgs(const A
>
>  // Get CPU and ABI names. They are not independent
>  // so we have to calculate them together.
> -void mips::getMipsCPUAndABI(const ArgList &Args,
> -                            const llvm::Triple &Triple,
> -                            StringRef &CPUName,
> -                            StringRef &ABIName) {
> +void mips::getMipsCPUAndABI(const ArgList &Args, const llvm::Triple
> &Triple,
> +                            StringRef &CPUName, StringRef &ABIName) {
>    const char *DefMips32CPU = "mips32r2";
>    const char *DefMips64CPU = "mips64r2";
>
> @@ -951,8 +938,7 @@ void mips::getMipsCPUAndABI(const ArgLis
>    if (Triple.getOS() == llvm::Triple::OpenBSD)
>      DefMips64CPU = "mips3";
>
> -  if (Arg *A = Args.getLastArg(options::OPT_march_EQ,
> -                               options::OPT_mcpu_EQ))
> +  if (Arg *A = Args.getLastArg(options::OPT_march_EQ,
> options::OPT_mcpu_EQ))
>      CPUName = A->getValue();
>
>    if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) {
> @@ -960,9 +946,9 @@ void mips::getMipsCPUAndABI(const ArgLis
>      // Convert a GNU style Mips ABI name to the name
>      // accepted by LLVM Mips backend.
>      ABIName = llvm::StringSwitch<llvm::StringRef>(ABIName)
> -      .Case("32", "o32")
> -      .Case("64", "n64")
> -      .Default(ABIName);
> +                  .Case("32", "o32")
> +                  .Case("64", "n64")
> +                  .Default(ABIName);
>    }
>
>    // Setup default CPU and ABI names.
> @@ -993,9 +979,9 @@ void mips::getMipsCPUAndABI(const ArgLis
>    if (CPUName.empty()) {
>      // Deduce CPU name from ABI name.
>      CPUName = llvm::StringSwitch<const char *>(ABIName)
> -      .Cases("o32", "eabi", DefMips32CPU)
> -      .Cases("n32", "n64", DefMips64CPU)
> -      .Default("");
> +                  .Cases("o32", "eabi", DefMips32CPU)
> +                  .Cases("n32", "n64", DefMips64CPU)
> +                  .Default("");
>    }
>
>    // FIXME: Warn on inconsistent use of -march and -mabi.
> @@ -1004,18 +990,18 @@ void mips::getMipsCPUAndABI(const ArgLis
>  // Convert ABI name to the GNU tools acceptable variant.
>  static StringRef getGnuCompatibleMipsABIName(StringRef ABI) {
>    return llvm::StringSwitch<llvm::StringRef>(ABI)
> -    .Case("o32", "32")
> -    .Case("n64", "64")
> -    .Default(ABI);
> +      .Case("o32", "32")
> +      .Case("n64", "64")
> +      .Default(ABI);
>  }
>
>  // Select the MIPS float ABI as determined by -msoft-float, -mhard-float,
>  // and -mfloat-abi=.
>  static StringRef getMipsFloatABI(const Driver &D, const ArgList &Args) {
>    StringRef FloatABI;
> -  if (Arg *A = Args.getLastArg(options::OPT_msoft_float,
> -                               options::OPT_mhard_float,
> -                               options::OPT_mfloat_abi_EQ)) {
> +  if (Arg *A =
> +          Args.getLastArg(options::OPT_msoft_float,
> options::OPT_mhard_float,
> +                          options::OPT_mfloat_abi_EQ)) {
>      if (A->getOption().matches(options::OPT_msoft_float))
>        FloatABI = "soft";
>      else if (A->getOption().matches(options::OPT_mhard_float))
> @@ -1143,8 +1129,7 @@ void Clang::AddMIPSTargetArgs(const ArgL
>      CmdArgs.push_back("-msoft-float");
>      CmdArgs.push_back("-mfloat-abi");
>      CmdArgs.push_back("soft");
> -  }
> -  else {
> +  } else {
>      // Floating point operations and argument passing are hard.
>      assert(FloatABI == "hard" && "Invalid float abi!");
>      CmdArgs.push_back("-mfloat-abi");
> @@ -1196,51 +1181,51 @@ static std::string getPPCTargetCPU(const
>      }
>
>      return llvm::StringSwitch<const char *>(CPUName)
> -      .Case("common", "generic")
> -      .Case("440", "440")
> -      .Case("440fp", "440")
> -      .Case("450", "450")
> -      .Case("601", "601")
> -      .Case("602", "602")
> -      .Case("603", "603")
> -      .Case("603e", "603e")
> -      .Case("603ev", "603ev")
> -      .Case("604", "604")
> -      .Case("604e", "604e")
> -      .Case("620", "620")
> -      .Case("630", "pwr3")
> -      .Case("G3", "g3")
> -      .Case("7400", "7400")
> -      .Case("G4", "g4")
> -      .Case("7450", "7450")
> -      .Case("G4+", "g4+")
> -      .Case("750", "750")
> -      .Case("970", "970")
> -      .Case("G5", "g5")
> -      .Case("a2", "a2")
> -      .Case("a2q", "a2q")
> -      .Case("e500mc", "e500mc")
> -      .Case("e5500", "e5500")
> -      .Case("power3", "pwr3")
> -      .Case("power4", "pwr4")
> -      .Case("power5", "pwr5")
> -      .Case("power5x", "pwr5x")
> -      .Case("power6", "pwr6")
> -      .Case("power6x", "pwr6x")
> -      .Case("power7", "pwr7")
> -      .Case("power8", "pwr8")
> -      .Case("pwr3", "pwr3")
> -      .Case("pwr4", "pwr4")
> -      .Case("pwr5", "pwr5")
> -      .Case("pwr5x", "pwr5x")
> -      .Case("pwr6", "pwr6")
> -      .Case("pwr6x", "pwr6x")
> -      .Case("pwr7", "pwr7")
> -      .Case("pwr8", "pwr8")
> -      .Case("powerpc", "ppc")
> -      .Case("powerpc64", "ppc64")
> -      .Case("powerpc64le", "ppc64le")
> -      .Default("");
> +        .Case("common", "generic")
> +        .Case("440", "440")
> +        .Case("440fp", "440")
> +        .Case("450", "450")
> +        .Case("601", "601")
> +        .Case("602", "602")
> +        .Case("603", "603")
> +        .Case("603e", "603e")
> +        .Case("603ev", "603ev")
> +        .Case("604", "604")
> +        .Case("604e", "604e")
> +        .Case("620", "620")
> +        .Case("630", "pwr3")
> +        .Case("G3", "g3")
> +        .Case("7400", "7400")
> +        .Case("G4", "g4")
> +        .Case("7450", "7450")
> +        .Case("G4+", "g4+")
> +        .Case("750", "750")
> +        .Case("970", "970")
> +        .Case("G5", "g5")
> +        .Case("a2", "a2")
> +        .Case("a2q", "a2q")
> +        .Case("e500mc", "e500mc")
> +        .Case("e5500", "e5500")
> +        .Case("power3", "pwr3")
> +        .Case("power4", "pwr4")
> +        .Case("power5", "pwr5")
> +        .Case("power5x", "pwr5x")
> +        .Case("power6", "pwr6")
> +        .Case("power6x", "pwr6x")
> +        .Case("power7", "pwr7")
> +        .Case("power8", "pwr8")
> +        .Case("pwr3", "pwr3")
> +        .Case("pwr4", "pwr4")
> +        .Case("pwr5", "pwr5")
> +        .Case("pwr5x", "pwr5x")
> +        .Case("pwr6", "pwr6")
> +        .Case("pwr6x", "pwr6x")
> +        .Case("pwr7", "pwr7")
> +        .Case("pwr8", "pwr8")
> +        .Case("powerpc", "ppc")
> +        .Case("powerpc64", "ppc64")
> +        .Case("powerpc64le", "ppc64le")
> +        .Default("");
>    }
>
>    return "";
> @@ -1282,7 +1267,7 @@ void Clang::AddPPCTargetArgs(const ArgLi
>    if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) {
>      ABIName = A->getValue();
>    } else if (getToolChain().getTriple().isOSLinux())
> -    switch(getToolChain().getArch()) {
> +    switch (getToolChain().getArch()) {
>      case llvm::Triple::ppc64: {
>        // When targeting a processor that supports QPX, or if QPX is
>        // specifically enabled, default to using the ABI that supports QPX
> (so
> @@ -1304,7 +1289,7 @@ void Clang::AddPPCTargetArgs(const ArgLi
>        break;
>      default:
>        break;
> -  }
> +    }
>
>    if (ABIName) {
>      CmdArgs.push_back("-target-abi");
> @@ -1322,20 +1307,20 @@ static std::string getR600TargetGPU(cons
>    if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) {
>      const char *GPUName = A->getValue();
>      return llvm::StringSwitch<const char *>(GPUName)
> -      .Cases("rv630", "rv635", "r600")
> -      .Cases("rv610", "rv620", "rs780", "rs880")
> -      .Case("rv740", "rv770")
> -      .Case("palm", "cedar")
> -      .Cases("sumo", "sumo2", "sumo")
> -      .Case("hemlock", "cypress")
> -      .Case("aruba", "cayman")
> -      .Default(GPUName);
> +        .Cases("rv630", "rv635", "r600")
> +        .Cases("rv610", "rv620", "rs780", "rs880")
> +        .Case("rv740", "rv770")
> +        .Case("palm", "cedar")
> +        .Cases("sumo", "sumo2", "sumo")
> +        .Case("hemlock", "cypress")
> +        .Case("aruba", "cayman")
> +        .Default(GPUName);
>    }
>    return "";
>  }
>
>  void Clang::AddSparcTargetArgs(const ArgList &Args,
> -                             ArgStringList &CmdArgs) const {
> +                               ArgStringList &CmdArgs) const {
>    const Driver &D = getToolChain().getDriver();
>    std::string Triple = getToolChain().ComputeEffectiveClangTriple(Args);
>
> @@ -1352,8 +1337,8 @@ void Clang::AddSparcTargetArgs(const Arg
>    // currently does not support Sparc soft-float, at all, display an
>    // error if it's requested.
>    if (SoftFloatABI) {
> -    D.Diag(diag::err_drv_unsupported_opt_for_target)
> -        << "-msoft-float" << Triple;
> +    D.Diag(diag::err_drv_unsupported_opt_for_target) << "-msoft-float"
> +                                                     << Triple;
>    }
>  }
>
> @@ -1366,16 +1351,14 @@ static const char *getSystemZTargetCPU(c
>  static void getSystemZTargetFeatures(const ArgList &Args,
>                                       std::vector<const char *> &Features)
> {
>    // -m(no-)htm overrides use of the transactional-execution facility.
> -  if (Arg *A = Args.getLastArg(options::OPT_mhtm,
> -                               options::OPT_mno_htm)) {
> +  if (Arg *A = Args.getLastArg(options::OPT_mhtm, options::OPT_mno_htm)) {
>      if (A->getOption().matches(options::OPT_mhtm))
>        Features.push_back("+transactional-execution");
>      else
>        Features.push_back("-transactional-execution");
>    }
>    // -m(no-)vx overrides use of the vector facility.
> -  if (Arg *A = Args.getLastArg(options::OPT_mvx,
> -                               options::OPT_mno_vx)) {
> +  if (Arg *A = Args.getLastArg(options::OPT_mvx, options::OPT_mno_vx)) {
>      if (A->getOption().matches(options::OPT_mvx))
>        Features.push_back("+vector");
>      else
> @@ -1446,7 +1429,7 @@ static const char *getX86TargetCPU(const
>  }
>
>  static std::string getCPUName(const ArgList &Args, const llvm::Triple &T)
> {
> -  switch(T.getArch()) {
> +  switch (T.getArch()) {
>    default:
>      return "";
>
> @@ -1517,7 +1500,8 @@ static void AddGoldPlugin(const ToolChai
>    // as gold requires -plugin to come before any -plugin-opt that -Wl
> might
>    // forward.
>    CmdArgs.push_back("-plugin");
> -  std::string Plugin = ToolChain.getDriver().Dir + "/../lib"
> CLANG_LIBDIR_SUFFIX "/LLVMgold.so";
> +  std::string Plugin =
> +      ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX
> "/LLVMgold.so";
>    CmdArgs.push_back(Args.MakeArgString(Plugin));
>
>    // Try to pass driver level flags relevant to LTO code generation down
> to
> @@ -1534,7 +1518,7 @@ static void AddGoldPlugin(const ToolChai
>  /// parsing the refinement step. Otherwise, return true and set the
> Position
>  /// of the refinement step in the input string.
>  static bool getRefinementStep(const StringRef &In, const Driver &D,
> -                                const Arg &A, size_t &Position) {
> +                              const Arg &A, size_t &Position) {
>    const char RefinementStepToken = ':';
>    Position = In.find(RefinementStepToken);
>    if (Position != StringRef::npos) {
> @@ -1597,14 +1581,14 @@ static void ParseMRecip(const Driver &D,
>    // and pass through.
>
>    llvm::StringMap<bool> OptionStrings;
> -  OptionStrings.insert(std::make_pair("divd",       false));
> -  OptionStrings.insert(std::make_pair("divf",       false));
> -  OptionStrings.insert(std::make_pair("vec-divd",   false));
> -  OptionStrings.insert(std::make_pair("vec-divf",   false));
> -  OptionStrings.insert(std::make_pair("sqrtd",      false));
> -  OptionStrings.insert(std::make_pair("sqrtf",      false));
> -  OptionStrings.insert(std::make_pair("vec-sqrtd",  false));
> -  OptionStrings.insert(std::make_pair("vec-sqrtf",  false));
> +  OptionStrings.insert(std::make_pair("divd", false));
> +  OptionStrings.insert(std::make_pair("divf", false));
> +  OptionStrings.insert(std::make_pair("vec-divd", false));
> +  OptionStrings.insert(std::make_pair("vec-divf", false));
> +  OptionStrings.insert(std::make_pair("sqrtd", false));
> +  OptionStrings.insert(std::make_pair("sqrtf", false));
> +  OptionStrings.insert(std::make_pair("vec-sqrtd", false));
> +  OptionStrings.insert(std::make_pair("vec-sqrtf", false));
>
>    for (unsigned i = 0; i != NumOptions; ++i) {
>      StringRef Val = A->getValue(i);
> @@ -1636,7 +1620,7 @@ static void ParseMRecip(const Driver &D,
>          return;
>        }
>      }
> -
> +
>      if (OptionIter->second == true) {
>        // Duplicate option specified.
>        D.Diag(diag::err_drv_invalid_value) << A->getOption().getName() <<
> Val;
> @@ -1669,8 +1653,8 @@ static void getX86TargetFeatures(const D
>        llvm::StringMap<bool> HostFeatures;
>        if (llvm::sys::getHostCPUFeatures(HostFeatures))
>          for (auto &F : HostFeatures)
> -          Features.push_back(Args.MakeArgString((F.second ? "+" : "-") +
> -                                                F.first()));
> +          Features.push_back(
> +              Args.MakeArgString((F.second ? "+" : "-") + F.first()));
>      }
>    }
>
> @@ -1739,9 +1723,7 @@ static void getX86TargetFeatures(const D
>
>  void Clang::AddX86TargetArgs(const ArgList &Args,
>                               ArgStringList &CmdArgs) const {
> -  if (!Args.hasFlag(options::OPT_mred_zone,
> -                    options::OPT_mno_red_zone,
> -                    true) ||
> +  if (!Args.hasFlag(options::OPT_mred_zone, options::OPT_mno_red_zone,
> true) ||
>        Args.hasArg(options::OPT_mkernel) ||
>        Args.hasArg(options::OPT_fapple_kext))
>      CmdArgs.push_back("-disable-red-zone");
> @@ -1750,10 +1732,9 @@ void Clang::AddX86TargetArgs(const ArgLi
>    // that to be overridden with -mno-soft-float.
>    bool NoImplicitFloat = (Args.hasArg(options::OPT_mkernel) ||
>                            Args.hasArg(options::OPT_fapple_kext));
> -  if (Arg *A = Args.getLastArg(options::OPT_msoft_float,
> -                               options::OPT_mno_soft_float,
> -                               options::OPT_mimplicit_float,
> -                               options::OPT_mno_implicit_float)) {
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_msoft_float, options::OPT_mno_soft_float,
> +          options::OPT_mimplicit_float, options::OPT_mno_implicit_float))
> {
>      const Option &O = A->getOption();
>      NoImplicitFloat = (O.matches(options::OPT_mno_implicit_float) ||
>                         O.matches(options::OPT_msoft_float));
> @@ -1778,21 +1759,21 @@ void Clang::AddHexagonTargetArgs(const A
>    CmdArgs.push_back("-mqdsp6-compat");
>    CmdArgs.push_back("-Wreturn-type");
>
> -  if (const char* v =
> toolchains::Hexagon_TC::GetSmallDataThreshold(Args)) {
> -    std::string SmallDataThreshold="-hexagon-small-data-threshold=";
> +  if (const char *v =
> toolchains::Hexagon_TC::GetSmallDataThreshold(Args)) {
> +    std::string SmallDataThreshold = "-hexagon-small-data-threshold=";
>      SmallDataThreshold += v;
> -    CmdArgs.push_back ("-mllvm");
> +    CmdArgs.push_back("-mllvm");
>      CmdArgs.push_back(Args.MakeArgString(SmallDataThreshold));
>    }
>
>    if (!Args.hasArg(options::OPT_fno_short_enums))
>      CmdArgs.push_back("-fshort-enums");
>    if (Args.getLastArg(options::OPT_mieee_rnd_near)) {
> -    CmdArgs.push_back ("-mllvm");
> -    CmdArgs.push_back ("-enable-hexagon-ieee-rnd-near");
> +    CmdArgs.push_back("-mllvm");
> +    CmdArgs.push_back("-enable-hexagon-ieee-rnd-near");
>    }
> -  CmdArgs.push_back ("-mllvm");
> -  CmdArgs.push_back ("-machine-sink-split=0");
> +  CmdArgs.push_back("-mllvm");
> +  CmdArgs.push_back("-machine-sink-split=0");
>  }
>
>  // Decode AArch64 features from string like +[no]featureA+[no]featureB+...
> @@ -1828,7 +1809,8 @@ static bool DecodeAArch64Mcpu(const Driv
>                                std::vector<const char *> &Features) {
>    std::pair<StringRef, StringRef> Split = Mcpu.split("+");
>    CPU = Split.first;
> -  if (CPU == "cyclone" || CPU == "cortex-a53" || CPU == "cortex-a57" ||
> CPU == "cortex-a72") {
> +  if (CPU == "cyclone" || CPU == "cortex-a53" || CPU == "cortex-a57" ||
> +      CPU == "cortex-a72") {
>      Features.push_back("+neon");
>      Features.push_back("+crc");
>      Features.push_back("+crypto");
> @@ -1851,12 +1833,9 @@ getAArch64ArchFeaturesFromMarch(const Dr
>    std::string MarchLowerCase = March.lower();
>    std::pair<StringRef, StringRef> Split =
> StringRef(MarchLowerCase).split("+");
>
> -  if (Split.first == "armv8-a" ||
> -      Split.first == "armv8a") {
> +  if (Split.first == "armv8-a" || Split.first == "armv8a") {
>      // ok, no additional features.
> -  } else if (
> -      Split.first == "armv8.1-a" ||
> -      Split.first == "armv8.1a" ) {
> +  } else if (Split.first == "armv8.1-a" || Split.first == "armv8.1a") {
>      Features.push_back("+v8.1a");
>    } else {
>      return false;
> @@ -1941,8 +1920,7 @@ static void getAArch64TargetFeatures(con
>    }
>
>    // En/disable crc
> -  if (Arg *A = Args.getLastArg(options::OPT_mcrc,
> -                               options::OPT_mnocrc)) {
> +  if (Arg *A = Args.getLastArg(options::OPT_mcrc, options::OPT_mnocrc)) {
>      if (A->getOption().matches(options::OPT_mcrc))
>        Features.push_back("+crc");
>      else
> @@ -2023,7 +2001,7 @@ shouldUseExceptionTablesForObjCException
>    if (!Triple.isMacOSX())
>      return false;
>
> -  return (!Triple.isMacOSXVersionLT(10,5) &&
> +  return (!Triple.isMacOSXVersionLT(10, 5) &&
>            (Triple.getArch() == llvm::Triple::x86_64 ||
>             Triple.getArch() == llvm::Triple::arm));
>  }
> @@ -2069,8 +2047,7 @@ static void addExceptionArgs(const ArgLi
>    // is not necessarily sensible, but follows GCC.
>    if (types::isObjC(InputType) &&
>        Args.hasFlag(options::OPT_fobjc_exceptions,
> -                   options::OPT_fno_objc_exceptions,
> -                   true)) {
> +                   options::OPT_fno_objc_exceptions, true)) {
>      CmdArgs.push_back("-fobjc-exceptions");
>
>      EH |= shouldUseExceptionTablesForObjCExceptions(objcRuntime, Triple);
> @@ -2113,8 +2090,7 @@ static void addExceptionArgs(const ArgLi
>      CmdArgs.push_back("-fexceptions");
>  }
>
> -static bool ShouldDisableAutolink(const ArgList &Args,
> -                             const ToolChain &TC) {
> +static bool ShouldDisableAutolink(const ArgList &Args, const ToolChain
> &TC) {
>    bool Default = true;
>    if (TC.getTriple().isOSDarwin()) {
>      // The native darwin assembler doesn't support the linker_option
> directives,
> @@ -2127,9 +2103,9 @@ static bool ShouldDisableAutolink(const
>
>  static bool ShouldDisableDwarfDirectory(const ArgList &Args,
>                                          const ToolChain &TC) {
> -  bool UseDwarfDirectory = Args.hasFlag(options::OPT_fdwarf_directory_asm,
> -
> options::OPT_fno_dwarf_directory_asm,
> -                                        TC.useIntegratedAs());
> +  bool UseDwarfDirectory =
> +      Args.hasFlag(options::OPT_fdwarf_directory_asm,
> +                   options::OPT_fno_dwarf_directory_asm,
> TC.useIntegratedAs());
>    return !UseDwarfDirectory;
>  }
>
> @@ -2164,29 +2140,29 @@ static bool UseRelaxAll(Compilation &C,
>    }
>
>    return Args.hasFlag(options::OPT_mrelax_all, options::OPT_mno_relax_all,
> -    RelaxDefault);
> +                      RelaxDefault);
>  }
>
>  static void CollectArgsForIntegratedAssembler(Compilation &C,
>                                                const ArgList &Args,
>                                                ArgStringList &CmdArgs,
>                                                const Driver &D) {
> -    if (UseRelaxAll(C, Args))
> -      CmdArgs.push_back("-mrelax-all");
> +  if (UseRelaxAll(C, Args))
> +    CmdArgs.push_back("-mrelax-all");
>
> -    // When passing -I arguments to the assembler we sometimes need to
> -    // unconditionally take the next argument.  For example, when parsing
> -    // '-Wa,-I -Wa,foo' we need to accept the -Wa,foo arg after seeing the
> -    // -Wa,-I arg and when parsing '-Wa,-I,foo' we need to accept the
> 'foo'
> -    // arg after parsing the '-I' arg.
> -    bool TakeNextArg = false;
> -
> -    // When using an integrated assembler, translate -Wa, and -Xassembler
> -    // options.
> -    bool CompressDebugSections = false;
> -    for (const Arg *A :
> -         Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler)) {
> -      A->claim();
> +  // When passing -I arguments to the assembler we sometimes need to
> +  // unconditionally take the next argument.  For example, when parsing
> +  // '-Wa,-I -Wa,foo' we need to accept the -Wa,foo arg after seeing the
> +  // -Wa,-I arg and when parsing '-Wa,-I,foo' we need to accept the 'foo'
> +  // arg after parsing the '-I' arg.
> +  bool TakeNextArg = false;
> +
> +  // When using an integrated assembler, translate -Wa, and -Xassembler
> +  // options.
> +  bool CompressDebugSections = false;
> +  for (const Arg *A :
> +       Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler)) {
> +    A->claim();
>
>        for (const StringRef Value : A->getValues()) {
>          if (TakeNextArg) {
> @@ -2195,40 +2171,40 @@ static void CollectArgsForIntegratedAsse
>            continue;
>          }
>
> -        if (Value == "-force_cpusubtype_ALL") {
> -          // Do nothing, this is the default and we don't support
> anything else.
> -        } else if (Value == "-L") {
> -          CmdArgs.push_back("-msave-temp-labels");
> -        } else if (Value == "--fatal-warnings") {
> -          CmdArgs.push_back("-massembler-fatal-warnings");
> -        } else if (Value == "--noexecstack") {
> -          CmdArgs.push_back("-mnoexecstack");
> -        } else if (Value == "-compress-debug-sections" ||
> -                   Value == "--compress-debug-sections") {
> -          CompressDebugSections = true;
> -        } else if (Value == "-nocompress-debug-sections" ||
> -                   Value == "--nocompress-debug-sections") {
> -          CompressDebugSections = false;
> -        } else if (Value.startswith("-I")) {
> -          CmdArgs.push_back(Value.data());
> -          // We need to consume the next argument if the current arg is a
> plain
> -          // -I. The next arg will be the include directory.
> -          if (Value == "-I")
> -            TakeNextArg = true;
> -        } else if (Value.startswith("-gdwarf-")) {
> -          CmdArgs.push_back(Value.data());
> -        } else {
> -          D.Diag(diag::err_drv_unsupported_option_argument)
> +      if (Value == "-force_cpusubtype_ALL") {
> +        // Do nothing, this is the default and we don't support anything
> else.
> +      } else if (Value == "-L") {
> +        CmdArgs.push_back("-msave-temp-labels");
> +      } else if (Value == "--fatal-warnings") {
> +        CmdArgs.push_back("-massembler-fatal-warnings");
> +      } else if (Value == "--noexecstack") {
> +        CmdArgs.push_back("-mnoexecstack");
> +      } else if (Value == "-compress-debug-sections" ||
> +                 Value == "--compress-debug-sections") {
> +        CompressDebugSections = true;
> +      } else if (Value == "-nocompress-debug-sections" ||
> +                 Value == "--nocompress-debug-sections") {
> +        CompressDebugSections = false;
> +      } else if (Value.startswith("-I")) {
> +        CmdArgs.push_back(Value.data());
> +        // We need to consume the next argument if the current arg is a
> plain
> +        // -I. The next arg will be the include directory.
> +        if (Value == "-I")
> +          TakeNextArg = true;
> +      } else if (Value.startswith("-gdwarf-")) {
> +        CmdArgs.push_back(Value.data());
> +      } else {
> +        D.Diag(diag::err_drv_unsupported_option_argument)
>              << A->getOption().getName() << Value;
> -        }
>        }
>      }
> -    if (CompressDebugSections) {
> -      if (llvm::zlib::isAvailable())
> -        CmdArgs.push_back("-compress-debug-sections");
> -      else
> -        D.Diag(diag::warn_debug_compression_unavailable);
> -    }
> +  }
> +  if (CompressDebugSections) {
> +    if (llvm::zlib::isAvailable())
> +      CmdArgs.push_back("-compress-debug-sections");
> +    else
> +      D.Diag(diag::warn_debug_compression_unavailable);
> +  }
>  }
>
>  // Until ARM libraries are build separately, we have them all in one
> library
> @@ -2333,15 +2309,15 @@ static OpenMPRuntimeKind getOpenMPRuntim
>      RuntimeName = A->getValue();
>
>    auto RT = llvm::StringSwitch<OpenMPRuntimeKind>(RuntimeName)
> -      .Case("libomp", OMPRT_OMP)
> -      .Case("libgomp", OMPRT_GOMP)
> -      .Case("libiomp5", OMPRT_IOMP5)
> -      .Default(OMPRT_Unknown);
> +                .Case("libomp", OMPRT_OMP)
> +                .Case("libgomp", OMPRT_GOMP)
> +                .Case("libiomp5", OMPRT_IOMP5)
> +                .Default(OMPRT_Unknown);
>
>    if (RT == OMPRT_Unknown) {
>      if (A)
>        TC.getDriver().Diag(diag::err_drv_unsupported_option_argument)
> -        << A->getOption().getName() << A->getValue();
> +          << A->getOption().getName() << A->getValue();
>      else
>        // FIXME: We could use a nicer diagnostic here.
>        TC.getDriver().Diag(diag::err_drv_unsupported_opt) << "-fopenmp";
> @@ -2536,8 +2512,7 @@ static void addDebugCompDirArg(const Arg
>    }
>  }
>
> -static const char *SplitDebugName(const ArgList &Args,
> -                                  const InputInfo &Input) {
> +static const char *SplitDebugName(const ArgList &Args, const InputInfo
> &Input) {
>    Arg *FinalOutput = Args.getLastArg(options::OPT_o);
>    if (FinalOutput && Args.hasArg(options::OPT_c)) {
>      SmallString<128> T(FinalOutput->getValue());
> @@ -2554,10 +2529,9 @@ static const char *SplitDebugName(const
>    }
>  }
>
> -static void SplitDebugInfo(const ToolChain &TC, Compilation &C,
> -                           const Tool &T, const JobAction &JA,
> -                           const ArgList &Args, const InputInfo &Output,
> -                           const char *OutFile) {
> +static void SplitDebugInfo(const ToolChain &TC, Compilation &C, const
> Tool &T,
> +                           const JobAction &JA, const ArgList &Args,
> +                           const InputInfo &Output, const char *OutFile) {
>    ArgStringList ExtractArgs;
>    ExtractArgs.push_back("--extract-dwo");
>
> @@ -2569,8 +2543,7 @@ static void SplitDebugInfo(const ToolCha
>    ExtractArgs.push_back(Output.getFilename());
>    ExtractArgs.push_back(OutFile);
>
> -  const char *Exec =
> -    Args.MakeArgString(TC.GetProgramPath("objcopy"));
> +  const char *Exec = Args.MakeArgString(TC.GetProgramPath("objcopy"));
>
>    // First extract the dwo sections.
>    C.addCommand(llvm::make_unique<Command>(JA, T, Exec, ExtractArgs));
> @@ -2634,7 +2607,7 @@ static VersionTuple getMSCompatibilityVe
>      return VersionTuple(Version / 100, Version % 100);
>
>    unsigned Build = 0, Factor = 1;
> -  for ( ; Version > 10000; Version = Version / 10, Factor = Factor * 10)
> +  for (; Version > 10000; Version = Version / 10, Factor = Factor * 10)
>      Build = Build + (Version % 10) * Factor;
>    return VersionTuple(Version / 100, Version % 100, Build);
>  }
> @@ -2671,7 +2644,7 @@ static void appendUserToPath(SmallVector
>      }
>    }
>
> -  // Fallback to user id.
> +// Fallback to user id.
>  #ifdef LLVM_ON_UNIX
>    std::string UID = llvm::utostr(getuid());
>  #else
> @@ -2691,7 +2664,7 @@ VersionTuple visualstudio::getMSVCVersio
>        Args.hasArg(options::OPT_fms_compatibility_version)) {
>      const Arg *MSCVersion = Args.getLastArg(options::OPT_fmsc_version);
>      const Arg *MSCompatibilityVersion =
> -      Args.getLastArg(options::OPT_fms_compatibility_version);
> +        Args.getLastArg(options::OPT_fms_compatibility_version);
>
>      if (MSCVersion && MSCompatibilityVersion) {
>        if (D)
> @@ -2729,12 +2702,10 @@ VersionTuple visualstudio::getMSVCVersio
>  }
>
>  void Clang::ConstructJob(Compilation &C, const JobAction &JA,
> -                         const InputInfo &Output,
> -                         const InputInfoList &Inputs,
> -                         const ArgList &Args,
> -                         const char *LinkingOutput) const {
> -  bool KernelOrKext = Args.hasArg(options::OPT_mkernel,
> -                                  options::OPT_fapple_kext);
> +                         const InputInfo &Output, const InputInfoList
> &Inputs,
> +                         const ArgList &Args, const char *LinkingOutput)
> const {
> +  bool KernelOrKext =
> +      Args.hasArg(options::OPT_mkernel, options::OPT_fapple_kext);
>    const Driver &D = getToolChain().getDriver();
>    ArgStringList CmdArgs;
>
> @@ -2774,7 +2745,7 @@ void Clang::ConstructJob(Compilation &C,
>
>    // Select the appropriate action.
>    RewriteKind rewriteKind = RK_None;
> -
> +
>    if (isa<AnalyzeJobAction>(JA)) {
>      assert(JA.getType() == types::TY_Plist && "Invalid output type.");
>      CmdArgs.push_back("-analyze");
> @@ -2795,7 +2766,7 @@ void Clang::ConstructJob(Compilation &C,
>      CollectArgsForIntegratedAssembler(C, Args, CmdArgs, D);
>
>      // Also ignore explicit -force_cpusubtype_ALL option.
> -    (void) Args.hasArg(options::OPT_force__cpusubtype__ALL);
> +    (void)Args.hasArg(options::OPT_force__cpusubtype__ALL);
>    } else if (isa<PrecompileJobAction>(JA)) {
>      // Use PCH if the user requested it.
>      bool UsePCH = D.CCCUsePCH;
> @@ -2833,8 +2804,7 @@ void Clang::ConstructJob(Compilation &C,
>        CmdArgs.push_back("-rewrite-objc");
>        rewriteKind = RK_Fragile;
>      } else {
> -      assert(JA.getType() == types::TY_PP_Asm &&
> -             "Unexpected output type!");
> +      assert(JA.getType() == types::TY_PP_Asm && "Unexpected output
> type!");
>      }
>
>      // Preserve use-list order by default when emitting bitcode, so that
> @@ -2851,7 +2821,7 @@ void Clang::ConstructJob(Compilation &C,
>    if (!C.isForDiagnostics())
>      CmdArgs.push_back("-disable-free");
>
> -  // Disable the verification pass in -asserts builds.
> +// Disable the verification pass in -asserts builds.
>  #ifdef NDEBUG
>    CmdArgs.push_back("-disable-llvm-verifier");
>  #endif
> @@ -2884,9 +2854,9 @@ void Clang::ConstructJob(Compilation &C,
>
>        if (getToolChain().getTriple().getVendor() == llvm::Triple::Apple)
>          CmdArgs.push_back("-analyzer-checker=osx");
> -
> +
>        CmdArgs.push_back("-analyzer-checker=deadcode");
> -
> +
>        if (types::isCXX(Input.getType()))
>          CmdArgs.push_back("-analyzer-checker=cplusplus");
>
> @@ -2895,7 +2865,7 @@ void Clang::ConstructJob(Compilation &C,
>            "-analyzer-checker=security.insecureAPI.UncheckedReturn");
>        CmdArgs.push_back("-analyzer-checker=security.insecureAPI.getpw");
>        CmdArgs.push_back("-analyzer-checker=security.insecureAPI.gets");
> -      CmdArgs.push_back("-analyzer-checker=security.insecureAPI.mktemp");
> +      CmdArgs.push_back("-analyzer-checker=security.insecureAPI.mktemp");
>        CmdArgs.push_back("-analyzer-checker=security.insecureAPI.mkstemp");
>        CmdArgs.push_back("-analyzer-checker=security.insecureAPI.vfork");
>      }
> @@ -2979,10 +2949,10 @@ void Clang::ConstructJob(Compilation &C,
>    // used. If the last argument is any flavor of the '-fno-...' arguments,
>    // both PIC and PIE are disabled. Any PIE option implicitly enables PIC
>    // at the same level.
> -  Arg *LastPICArg =Args.getLastArg(options::OPT_fPIC,
> options::OPT_fno_PIC,
> -                                 options::OPT_fpic, options::OPT_fno_pic,
> -                                 options::OPT_fPIE, options::OPT_fno_PIE,
> -                                 options::OPT_fpie, options::OPT_fno_pie);
> +  Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC,
> options::OPT_fno_PIC,
> +                                    options::OPT_fpic,
> options::OPT_fno_pic,
> +                                    options::OPT_fPIE,
> options::OPT_fno_PIE,
> +                                    options::OPT_fpie,
> options::OPT_fno_pie);
>    // Check whether the tool chain trumps the PIC-ness decision. If the
> PIC-ness
>    // is forced, then neither PIC nor PIE flags will have no effect.
>    if (!getToolChain().isPICDefaultForced()) {
> @@ -2991,10 +2961,10 @@ void Clang::ConstructJob(Compilation &C,
>        if (O.matches(options::OPT_fPIC) || O.matches(options::OPT_fpic) ||
>            O.matches(options::OPT_fPIE) || O.matches(options::OPT_fpie)) {
>          PIE = O.matches(options::OPT_fPIE) ||
> O.matches(options::OPT_fpie);
> -        PIC = PIE || O.matches(options::OPT_fPIC) ||
> -              O.matches(options::OPT_fpic);
> -        IsPICLevelTwo = O.matches(options::OPT_fPIE) ||
> -                        O.matches(options::OPT_fPIC);
> +        PIC =
> +            PIE || O.matches(options::OPT_fPIC) ||
> O.matches(options::OPT_fpic);
> +        IsPICLevelTwo =
> +            O.matches(options::OPT_fPIE) || O.matches(options::OPT_fPIC);
>        } else {
>          PIE = PIC = false;
>        }
> @@ -3021,7 +2991,7 @@ void Clang::ConstructJob(Compilation &C,
>      // uses it, and it isn't even valid on any OS but Darwin.
>      if (!getToolChain().getTriple().isOSDarwin())
>        D.Diag(diag::err_drv_unsupported_opt_for_target)
> -        << A->getSpelling() << getToolChain().getTriple().str();
> +          << A->getSpelling() << getToolChain().getTriple().str();
>
>      // FIXME: Warn when this flag trumps some other PIC or PIE flag.
>
> @@ -3091,7 +3061,7 @@ void Clang::ConstructJob(Compilation &C,
>                                 options::OPT_freg_struct_return)) {
>      if (getToolChain().getArch() != llvm::Triple::x86) {
>        D.Diag(diag::err_drv_unsupported_opt_for_target)
> -        << A->getSpelling() << getToolChain().getTriple().str();
> +          << A->getSpelling() << getToolChain().getTriple().str();
>      } else if (A->getOption().matches(options::OPT_fpcc_struct_return)) {
>        CmdArgs.push_back("-fpcc-struct-return");
>      } else {
> @@ -3112,8 +3082,8 @@ void Clang::ConstructJob(Compilation &C,
>    bool OFastEnabled = isOptimizationLevelFast(Args);
>    // If -Ofast is the optimization level, then -fstrict-aliasing should be
>    // enabled.  This alias option is being used to simplify the hasFlag
> logic.
> -  OptSpecifier StrictAliasingAliasOption = OFastEnabled ?
> options::OPT_Ofast :
> -    options::OPT_fstrict_aliasing;
> +  OptSpecifier StrictAliasingAliasOption =
> +      OFastEnabled ? options::OPT_Ofast : options::OPT_fstrict_aliasing;
>    // We turn strict aliasing off by default if we're in CL mode, since
> MSVC
>    // doesn't do any TBAA.
>    bool TBAAOnByDefault = !getToolChain().getDriver().IsCLMode();
> @@ -3136,30 +3106,28 @@ void Clang::ConstructJob(Compilation &C,
>
>    // If -Ofast is the optimization level, then -ffast-math should be
> enabled.
>    // This alias option is being used to simplify the getLastArg logic.
> -  OptSpecifier FastMathAliasOption = OFastEnabled ? options::OPT_Ofast :
> -    options::OPT_ffast_math;
> -
> +  OptSpecifier FastMathAliasOption =
> +      OFastEnabled ? options::OPT_Ofast : options::OPT_ffast_math;
> +
>    // Handle various floating point optimization flags, mapping them to the
>    // appropriate LLVM code generation flags. The pattern for all of these
> is to
>    // default off the codegen optimizations, and if any flag enables them
> and no
>    // flag disables them after the flag enabling them, enable the codegen
>    // optimization. This is complicated by several "umbrella" flags.
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_ffinite_math_only,
> -                               options::OPT_fno_finite_math_only,
> -                               options::OPT_fhonor_infinities,
> -                               options::OPT_fno_honor_infinities))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math, options::OPT_ffinite_math_only,
> +          options::OPT_fno_finite_math_only,
> options::OPT_fhonor_infinities,
> +          options::OPT_fno_honor_infinities))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() != options::OPT_fno_finite_math_only &&
>          A->getOption().getID() != options::OPT_fhonor_infinities)
>        CmdArgs.push_back("-menable-no-infs");
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_ffinite_math_only,
> -                               options::OPT_fno_finite_math_only,
> -                               options::OPT_fhonor_nans,
> -                               options::OPT_fno_honor_nans))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math, options::OPT_ffinite_math_only,
> +          options::OPT_fno_finite_math_only, options::OPT_fhonor_nans,
> +          options::OPT_fno_honor_nans))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() != options::OPT_fno_finite_math_only &&
>          A->getOption().getID() != options::OPT_fhonor_nans)
> @@ -3167,10 +3135,10 @@ void Clang::ConstructJob(Compilation &C,
>
>    // -fmath-errno is the default on some platforms, e.g. BSD-derived OSes.
>    bool MathErrno = getToolChain().IsMathErrnoDefault();
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_fmath_errno,
> -                               options::OPT_fno_math_errno)) {
> +  if (Arg *A =
> +          Args.getLastArg(options::OPT_ffast_math, FastMathAliasOption,
> +                          options::OPT_fno_fast_math,
> options::OPT_fmath_errno,
> +                          options::OPT_fno_math_errno)) {
>      // Turning on -ffast_math (with either flag) removes the need for
> MathErrno.
>      // However, turning *off* -ffast_math merely restores the toolchain
> default
>      // (which may be false).
> @@ -3189,45 +3157,41 @@ void Clang::ConstructJob(Compilation &C,
>    // entire set of LLVM optimizations, so collect them through all the
> flag
>    // madness.
>    bool AssociativeMath = false;
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_funsafe_math_optimizations,
> -                               options::OPT_fno_unsafe_math_optimizations,
> -                               options::OPT_fassociative_math,
> -                               options::OPT_fno_associative_math))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math,
> options::OPT_funsafe_math_optimizations,
> +          options::OPT_fno_unsafe_math_optimizations,
> +          options::OPT_fassociative_math,
> options::OPT_fno_associative_math))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() !=
> options::OPT_fno_unsafe_math_optimizations &&
>          A->getOption().getID() != options::OPT_fno_associative_math)
>        AssociativeMath = true;
>    bool ReciprocalMath = false;
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_funsafe_math_optimizations,
> -                               options::OPT_fno_unsafe_math_optimizations,
> -                               options::OPT_freciprocal_math,
> -                               options::OPT_fno_reciprocal_math))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math,
> options::OPT_funsafe_math_optimizations,
> +          options::OPT_fno_unsafe_math_optimizations,
> +          options::OPT_freciprocal_math,
> options::OPT_fno_reciprocal_math))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() !=
> options::OPT_fno_unsafe_math_optimizations &&
>          A->getOption().getID() != options::OPT_fno_reciprocal_math)
>        ReciprocalMath = true;
>    bool SignedZeros = true;
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_funsafe_math_optimizations,
> -                               options::OPT_fno_unsafe_math_optimizations,
> -                               options::OPT_fsigned_zeros,
> -                               options::OPT_fno_signed_zeros))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math,
> options::OPT_funsafe_math_optimizations,
> +          options::OPT_fno_unsafe_math_optimizations,
> +          options::OPT_fsigned_zeros, options::OPT_fno_signed_zeros))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() !=
> options::OPT_fno_unsafe_math_optimizations &&
>          A->getOption().getID() != options::OPT_fsigned_zeros)
>        SignedZeros = false;
>    bool TrappingMath = true;
> -  if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
> -                               options::OPT_fno_fast_math,
> -                               options::OPT_funsafe_math_optimizations,
> -                               options::OPT_fno_unsafe_math_optimizations,
> -                               options::OPT_ftrapping_math,
> -                               options::OPT_fno_trapping_math))
> +  if (Arg *A = Args.getLastArg(
> +          options::OPT_ffast_math, FastMathAliasOption,
> +          options::OPT_fno_fast_math,
> options::OPT_funsafe_math_optimizations,
> +          options::OPT_fno_unsafe_math_optimizations,
> +          options::OPT_ftrapping_math, options::OPT_fno_trapping_math))
>      if (A->getOption().getID() != options::OPT_fno_fast_math &&
>          A->getOption().getID() !=
> options::OPT_fno_unsafe_math_optimizations &&
>          A->getOption().getID() != options::OPT_ftrapping_math)
> @@ -3242,7 +3206,7 @@ void Clang::ConstructJob(Compilation &C,
>    if (ReciprocalMath)
>      CmdArgs.push_back("-freciprocal-math");
>
> -  // Validate and pass through -fp-contract option.
> +  // Validate and pass through -fp-contract option.
>    if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
>                                 options::OPT_fno_fast_math,
>                                 options::OPT_ffp_contract)) {
> @@ -3252,7 +3216,7 @@ void Clang::ConstructJob(Compilation &C,
>          CmdArgs.push_back(Args.MakeArgString("-ffp-contract=" + Val));
>        } else {
>          D.Diag(diag::err_drv_unsupported_option_argument)
> -          << A->getOption().getName() << Val;
> +            << A->getOption().getName() << Val;
>        }
>      } else if (A->getOption().matches(options::OPT_ffast_math) ||
>                 (OFastEnabled &&
> A->getOption().matches(options::OPT_Ofast))) {
> @@ -3260,7 +3224,7 @@ void Clang::ConstructJob(Compilation &C,
>        CmdArgs.push_back(Args.MakeArgString("-ffp-contract=fast"));
>      }
>    }
> -
> +
>    ParseMRecip(getToolChain().getDriver(), Args, CmdArgs);
>
>    // We separately look for the '-ffast-math' and '-ffinite-math-only'
> flags,
> @@ -3270,8 +3234,8 @@ void Clang::ConstructJob(Compilation &C,
>    // and deserialization, etc.
>    if (Arg *A = Args.getLastArg(options::OPT_ffast_math,
> FastMathAliasOption,
>                                 options::OPT_fno_fast_math))
> -      if (!A->getOption().matches(options::OPT_fno_fast_math))
> -        CmdArgs.push_back("-ffast-math");
> +    if (!A->getOption().matches(options::OPT_fno_fast_math))
> +      CmdArgs.push_back("-ffast-math");
>    if (Arg *A = Args.getLastArg(options::OPT_ffinite_math_only,
>                                 options::OPT_fno_fast_math))
>      if (A->getOption().matches(options::OPT_ffinite_math_only))
> @@ -3334,7 +3298,7 @@ void Clang::ConstructJob(Compilation &C,
>    }
>
>    // FIXME: Handle -mtune=.
> -  (void) Args.hasArg(options::OPT_mtune_EQ);
> +  (void)Args.hasArg(options::OPT_mtune_EQ);
>
>    if (Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) {
>      CmdArgs.push_back("-mcode-model");
> @@ -3357,7 +3321,7 @@ void Clang::ConstructJob(Compilation &C,
>    getTargetFeatures(D, Triple, Args, CmdArgs, false);
>
>    // Add target specific flags.
> -  switch(getToolChain().getArch()) {
> +  switch (getToolChain().getArch()) {
>    default:
>      break;
>
> @@ -3420,13 +3384,12 @@ void Clang::ConstructJob(Compilation &C,
>    types::ID InputType = Input.getType();
>    if (!Args.hasArg(options::OPT_fallow_unsupported)) {
>      Arg *Unsupported;
> -    if (types::isCXX(InputType) &&
> -        getToolChain().getTriple().isOSDarwin() &&
> +    if (types::isCXX(InputType) &&
> getToolChain().getTriple().isOSDarwin() &&
>          getToolChain().getArch() == llvm::Triple::x86) {
>        if ((Unsupported = Args.getLastArg(options::OPT_fapple_kext)) ||
>            (Unsupported = Args.getLastArg(options::OPT_mkernel)))
>          D.Diag(diag::err_drv_clang_unsupported_opt_cxx_darwin_i386)
> -          << Unsupported->getOption().getName();
> +            << Unsupported->getOption().getName();
>      }
>    }
>
> @@ -3434,16 +3397,16 @@ void Clang::ConstructJob(Compilation &C,
>    Args.AddLastArg(CmdArgs, options::OPT_H);
>    if (D.CCPrintHeaders && !D.CCGenDiagnostics) {
>      CmdArgs.push_back("-header-include-file");
> -    CmdArgs.push_back(D.CCPrintHeadersFilename ?
> -                      D.CCPrintHeadersFilename : "-");
> +    CmdArgs.push_back(D.CCPrintHeadersFilename ? D.CCPrintHeadersFilename
> +                                               : "-");
>    }
>    Args.AddLastArg(CmdArgs, options::OPT_P);
>    Args.AddLastArg(CmdArgs, options::OPT_print_ivar_layout);
>
>    if (D.CCLogDiagnostics && !D.CCGenDiagnostics) {
>      CmdArgs.push_back("-diagnostic-log-file");
> -    CmdArgs.push_back(D.CCLogDiagnosticsFilename ?
> -                      D.CCLogDiagnosticsFilename : "-");
> +    CmdArgs.push_back(D.CCLogDiagnosticsFilename ?
> D.CCLogDiagnosticsFilename
> +                                                 : "-");
>    }
>
>    // Use the last option from "-g" group. "-gline-tables-only" and
> "-gdwarf-x"
> @@ -3524,8 +3487,8 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-ffunction-sections");
>    }
>
> -  if (Args.hasFlag(options::OPT_fdata_sections,
> -                   options::OPT_fno_data_sections, UseSeparateSections)) {
> +  if (Args.hasFlag(options::OPT_fdata_sections,
> options::OPT_fno_data_sections,
> +                   UseSeparateSections)) {
>      CmdArgs.push_back("-fdata-sections");
>    }
>
> @@ -3540,7 +3503,8 @@ void Clang::ConstructJob(Compilation &C,
>        (Args.hasArg(options::OPT_fprofile_instr_use) ||
>         Args.hasArg(options::OPT_fprofile_instr_use_EQ)))
>      D.Diag(diag::err_drv_argument_not_allowed_with)
> -      << "-fprofile-instr-generate" << "-fprofile-instr-use";
> +        << "-fprofile-instr-generate"
> +        << "-fprofile-instr-use";
>
>    if (Arg *A = Args.getLastArg(options::OPT_fprofile_instr_generate_EQ))
>      A->render(Args, CmdArgs);
> @@ -3564,7 +3528,8 @@ void Clang::ConstructJob(Compilation &C,
>        !(Args.hasArg(options::OPT_fprofile_instr_generate) ||
>          Args.hasArg(options::OPT_fprofile_instr_generate_EQ)))
>      D.Diag(diag::err_drv_argument_only_allowed_with)
> -      << "-fcoverage-mapping" << "-fprofile-instr-generate";
> +        << "-fcoverage-mapping"
> +        << "-fprofile-instr-generate";
>
>    if (Args.hasArg(options::OPT_fcoverage_mapping))
>      CmdArgs.push_back("-fcoverage-mapping");
> @@ -3596,7 +3561,7 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-nobuiltininc");
>    } else {
>      if (Args.hasArg(options::OPT_nostdlibinc))
> -        CmdArgs.push_back("-nostdsysteminc");
> +      CmdArgs.push_back("-nostdsysteminc");
>      Args.AddLastArg(CmdArgs, options::OPT_nostdincxx);
>      Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc);
>    }
> @@ -3640,8 +3605,8 @@ void Clang::ConstructJob(Compilation &C,
>
>    if (const Arg *A = Args.getLastArg(options::OPT_ccc_objcmt_migrate)) {
>      if (ARCMTEnabled) {
> -      D.Diag(diag::err_drv_argument_not_allowed_with)
> -        << A->getAsString(Args) << "-ccc-arcmt-migrate";
> +      D.Diag(diag::err_drv_argument_not_allowed_with) <<
> A->getAsString(Args)
> +                                                      <<
> "-ccc-arcmt-migrate";
>      }
>      CmdArgs.push_back("-mt-migrate-directory");
>      CmdArgs.push_back(A->getValue());
> @@ -3744,8 +3709,8 @@ void Clang::ConstructJob(Compilation &C,
>      // eventually we want to do all the standard defaulting here instead
> of
>      // splitting it between the driver and clang -cc1.
>      if (!types::isCXX(InputType))
> -      Args.AddAllArgsTranslated(CmdArgs, options::OPT_std_default_EQ,
> -                                "-std=", /*Joined=*/true);
> +      Args.AddAllArgsTranslated(CmdArgs, options::OPT_std_default_EQ,
> "-std=",
> +                                /*Joined=*/true);
>      else if (IsWindowsMSVC)
>        ImplyVCPPCXXVer = true;
>
> @@ -3834,7 +3799,6 @@ void Clang::ConstructJob(Compilation &C,
>        CmdArgs.push_back("-Wlarge-by-value-copy=64"); // default value
>    }
>
> -
>    if (Args.hasArg(options::OPT_relocatable_pch))
>      CmdArgs.push_back("-relocatable-pch");
>
> @@ -3916,8 +3880,7 @@ void Clang::ConstructJob(Compilation &C,
>    Args.AddLastArg(CmdArgs, options::OPT_fno_standalone_debug);
>    Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names);
>    // AltiVec language extensions aren't relevant for assembling.
> -  if (!isa<PreprocessJobAction>(JA) ||
> -      Output.getType() != types::TY_PP_Asm)
> +  if (!isa<PreprocessJobAction>(JA) || Output.getType() !=
> types::TY_PP_Asm)
>      Args.AddLastArg(CmdArgs, options::OPT_faltivec);
>    Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_show_template_tree);
>    Args.AddLastArg(CmdArgs, options::OPT_fno_elide_type);
> @@ -3979,8 +3942,7 @@ void Clang::ConstructJob(Compilation &C,
>
>    // -fno-strict-overflow implies -fwrapv if it isn't disabled, but
>    // -fstrict-overflow won't turn off an explicitly enabled -fwrapv.
> -  if (Arg *A = Args.getLastArg(options::OPT_fwrapv,
> -                               options::OPT_fno_wrapv)) {
> +  if (Arg *A = Args.getLastArg(options::OPT_fwrapv,
> options::OPT_fno_wrapv)) {
>      if (A->getOption().matches(options::OPT_fwrapv))
>        CmdArgs.push_back("-fwrapv");
>    } else if (Arg *A = Args.getLastArg(options::OPT_fstrict_overflow,
> @@ -4000,7 +3962,6 @@ void Clang::ConstructJob(Compilation &C,
>
>    Args.AddLastArg(CmdArgs, options::OPT_pthread);
>
> -
>    // -stack-protector=0 is default.
>    unsigned StackProtectorLevel = 0;
>    if (getToolChain().getSanitizerArgs().needsSafeStackRt()) {
> @@ -4009,19 +3970,20 @@ void Clang::ConstructJob(Compilation &C,
>      Args.ClaimAllArgs(options::OPT_fstack_protector_strong);
>      Args.ClaimAllArgs(options::OPT_fstack_protector);
>    } else if (Arg *A = Args.getLastArg(options::OPT_fno_stack_protector,
> -                               options::OPT_fstack_protector_all,
> -                               options::OPT_fstack_protector_strong,
> -                               options::OPT_fstack_protector)) {
> +                                      options::OPT_fstack_protector_all,
> +
> options::OPT_fstack_protector_strong,
> +                                      options::OPT_fstack_protector)) {
>      if (A->getOption().matches(options::OPT_fstack_protector)) {
> -      StackProtectorLevel = std::max<unsigned>(LangOptions::SSPOn,
> -        getToolChain().GetDefaultStackProtectorLevel(KernelOrKext));
> +      StackProtectorLevel = std::max<unsigned>(
> +          LangOptions::SSPOn,
> +          getToolChain().GetDefaultStackProtectorLevel(KernelOrKext));
>      } else if
> (A->getOption().matches(options::OPT_fstack_protector_strong))
>        StackProtectorLevel = LangOptions::SSPStrong;
>      else if (A->getOption().matches(options::OPT_fstack_protector_all))
>        StackProtectorLevel = LangOptions::SSPReq;
>    } else {
>      StackProtectorLevel =
> -      getToolChain().GetDefaultStackProtectorLevel(KernelOrKext);
> +        getToolChain().GetDefaultStackProtectorLevel(KernelOrKext);
>    }
>    if (StackProtectorLevel) {
>      CmdArgs.push_back("-stack-protector");
> @@ -4048,7 +4010,7 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-force-align-stack");
>    }
>    if (!Args.hasFlag(options::OPT_mno_stackrealign,
> options::OPT_mstackrealign,
> -                   false)) {
> +                    false)) {
>      CmdArgs.push_back(Args.MakeArgString("-mstackrealign"));
>    }
>
> @@ -4125,12 +4087,12 @@ void Clang::ConstructJob(Compilation &C,
>    // -fblocks=0 is default.
>    if (Args.hasFlag(options::OPT_fblocks, options::OPT_fno_blocks,
>                     getToolChain().IsBlocksDefault()) ||
> -        (Args.hasArg(options::OPT_fgnu_runtime) &&
> -         Args.hasArg(options::OPT_fobjc_nonfragile_abi) &&
> -         !Args.hasArg(options::OPT_fno_blocks))) {
> +      (Args.hasArg(options::OPT_fgnu_runtime) &&
> +       Args.hasArg(options::OPT_fobjc_nonfragile_abi) &&
> +       !Args.hasArg(options::OPT_fno_blocks))) {
>      CmdArgs.push_back("-fblocks");
>
> -    if (!Args.hasArg(options::OPT_fgnu_runtime) &&
> +    if (!Args.hasArg(options::OPT_fgnu_runtime) &&
>          !getToolChain().hasBlocksRuntime())
>        CmdArgs.push_back("-fblocks-runtime-optional");
>    }
> @@ -4140,9 +4102,8 @@ void Clang::ConstructJob(Compilation &C,
>    // C++/Objective-C++ programs.
>    bool HaveModules = false;
>    if (Args.hasFlag(options::OPT_fmodules, options::OPT_fno_modules,
> false)) {
> -    bool AllowedInCXX = Args.hasFlag(options::OPT_fcxx_modules,
> -                                     options::OPT_fno_cxx_modules,
> -                                     true);
> +    bool AllowedInCXX = Args.hasFlag(options::OPT_fcxx_modules,
> +                                     options::OPT_fno_cxx_modules, true);
>      if (AllowedInCXX || !types::isCXX(InputType)) {
>        CmdArgs.push_back("-fmodules");
>        HaveModules = true;
> @@ -4159,16 +4120,14 @@ void Clang::ConstructJob(Compilation &C,
>    // -fmodules-decluse checks that modules used are declared so (off by
>    // default).
>    if (Args.hasFlag(options::OPT_fmodules_decluse,
> -                   options::OPT_fno_modules_decluse,
> -                   false)) {
> +                   options::OPT_fno_modules_decluse, false)) {
>      CmdArgs.push_back("-fmodules-decluse");
>    }
>
>    // -fmodules-strict-decluse is like -fmodule-decluse, but also checks
> that
>    // all #included headers are part of modules.
>    if (Args.hasFlag(options::OPT_fmodules_strict_decluse,
> -                   options::OPT_fno_modules_strict_decluse,
> -                   false)) {
> +                   options::OPT_fno_modules_strict_decluse, false)) {
>      CmdArgs.push_back("-fmodules-strict-decluse");
>    }
>
> @@ -4263,14 +4222,12 @@ void Clang::ConstructJob(Compilation &C,
>
>    // -faccess-control is default.
>    if (Args.hasFlag(options::OPT_fno_access_control,
> -                   options::OPT_faccess_control,
> -                   false))
> +                   options::OPT_faccess_control, false))
>      CmdArgs.push_back("-fno-access-control");
>
>    // -felide-constructors is the default.
>    if (Args.hasFlag(options::OPT_fno_elide_constructors,
> -                   options::OPT_felide_constructors,
> -                   false))
> +                   options::OPT_felide_constructors, false))
>      CmdArgs.push_back("-fno-elide-constructors");
>
>    ToolChain::RTTIMode RTTIMode = getToolChain().getRTTIMode();
> @@ -4281,10 +4238,8 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-fno-rtti");
>
>    // -fshort-enums=0 is default for all architectures except Hexagon.
> -  if (Args.hasFlag(options::OPT_fshort_enums,
> -                   options::OPT_fno_short_enums,
> -                   getToolChain().getArch() ==
> -                   llvm::Triple::hexagon))
> +  if (Args.hasFlag(options::OPT_fshort_enums,
> options::OPT_fno_short_enums,
> +                   getToolChain().getArch() == llvm::Triple::hexagon))
>      CmdArgs.push_back("-fshort-enums");
>
>    // -fsigned-char is default.
> @@ -4303,8 +4258,8 @@ void Clang::ConstructJob(Compilation &C,
>    if (!Args.hasFlag(options::OPT_fuse_cxa_atexit,
>                      options::OPT_fno_use_cxa_atexit,
>                      !IsWindowsCygnus && !IsWindowsGNU &&
> -                    getToolChain().getArch() != llvm::Triple::hexagon &&
> -                    getToolChain().getArch() != llvm::Triple::xcore) ||
> +                        getToolChain().getArch() != llvm::Triple::hexagon
> &&
> +                        getToolChain().getArch() != llvm::Triple::xcore)
> ||
>        KernelOrKext)
>      CmdArgs.push_back("-fno-use-cxa-atexit");
>
> @@ -4319,11 +4274,11 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-fuse-line-directives");
>
>    // -fms-compatibility=0 is default.
> -  if (Args.hasFlag(options::OPT_fms_compatibility,
> +  if (Args.hasFlag(options::OPT_fms_compatibility,
>                     options::OPT_fno_ms_compatibility,
> -                   (IsWindowsMSVC &&
> Args.hasFlag(options::OPT_fms_extensions,
> -
> options::OPT_fno_ms_extensions,
> -                                                  true))))
> +                   (IsWindowsMSVC &&
> +                    Args.hasFlag(options::OPT_fms_extensions,
> +                                 options::OPT_fno_ms_extensions, true))))
>      CmdArgs.push_back("-fms-compatibility");
>
>    // -fms-compatibility-version=18.00 is default.
> @@ -4365,8 +4320,7 @@ void Clang::ConstructJob(Compilation &C,
>                                 options::OPT_fno_gnu_keywords))
>      A->render(Args, CmdArgs);
>
> -  if (Args.hasFlag(options::OPT_fgnu89_inline,
> -                   options::OPT_fno_gnu89_inline,
> +  if (Args.hasFlag(options::OPT_fgnu89_inline,
> options::OPT_fno_gnu89_inline,
>                     false))
>      CmdArgs.push_back("-fgnu89-inline");
>
> @@ -4386,7 +4340,7 @@ void Clang::ConstructJob(Compilation &C,
>      if (!Args.hasFlag(options::OPT_fobjc_legacy_dispatch,
>                        options::OPT_fno_objc_legacy_dispatch,
>                        objcRuntime.isLegacyDispatchDefaultForArch(
> -                        getToolChain().getArch()))) {
> +                          getToolChain().getArch()))) {
>        if (getToolChain().UseObjCMixedDispatch())
>          CmdArgs.push_back("-fobjc-dispatch-method=mixed");
>        else
> @@ -4403,12 +4357,12 @@ void Clang::ConstructJob(Compilation &C,
>        objcRuntime.getKind() == ObjCRuntime::FragileMacOSX &&
>        objcRuntime.isNeXTFamily())
>      CmdArgs.push_back("-fobjc-subscripting-legacy-runtime");
> -
> +
>    // -fencode-extended-block-signature=1 is default.
>    if (getToolChain().IsEncodeExtendedBlockSignatureDefault()) {
>      CmdArgs.push_back("-fencode-extended-block-signature");
>    }
> -
> +
>    // Allow -fno-objc-arr to trump -fobjc-arr/-fobjc-arc.
>    // NOTE: This logic is duplicated in ToolChains.cpp.
>    bool ARC = isObjCAutoRefCount(Args);
> @@ -4447,14 +4401,12 @@ void Clang::ConstructJob(Compilation &C,
>      GCArg = Args.getLastArg(options::OPT_fobjc_gc);
>    if (GCArg) {
>      if (ARC) {
> -      D.Diag(diag::err_drv_objc_gc_arr)
> -        << GCArg->getAsString(Args);
> +      D.Diag(diag::err_drv_objc_gc_arr) << GCArg->getAsString(Args);
>      } else if (getToolChain().SupportsObjCGC()) {
>        GCArg->render(Args, CmdArgs);
>      } else {
>        // FIXME: We should move this to a hard error.
> -      D.Diag(diag::warn_drv_objc_gc_unsupported)
> -        << GCArg->getAsString(Args);
> +      D.Diag(diag::warn_drv_objc_gc_unsupported) <<
> GCArg->getAsString(Args);
>      }
>    }
>
> @@ -4464,8 +4416,8 @@ void Clang::ConstructJob(Compilation &C,
>
>    // Handle GCC-style exception args.
>    if (!C.getDriver().IsCLMode())
> -    addExceptionArgs(Args, InputType, getToolChain(), KernelOrKext,
> -                     objcRuntime, CmdArgs);
> +    addExceptionArgs(Args, InputType, getToolChain(), KernelOrKext,
> objcRuntime,
> +                     CmdArgs);
>
>    if (getToolChain().UseSjLjExceptions())
>      CmdArgs.push_back("-fsjlj-exceptions");
> @@ -4497,8 +4449,7 @@ void Clang::ConstructJob(Compilation &C,
>
>    // -fno-pascal-strings is default, only pass non-default.
>    if (Args.hasFlag(options::OPT_fpascal_strings,
> -                   options::OPT_fno_pascal_strings,
> -                   false))
> +                   options::OPT_fno_pascal_strings, false))
>      CmdArgs.push_back("-fpascal-strings");
>
>    // Honor -fpack-struct= and -fpack-struct, if given. Note that
> @@ -4542,28 +4493,27 @@ void Clang::ConstructJob(Compilation &C,
>    if (!Args.hasFlag(options::OPT_fsigned_bitfields,
>                      options::OPT_funsigned_bitfields))
>      D.Diag(diag::warn_drv_clang_unsupported)
> -      <<
> Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args);
> +        <<
> Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args);
>
>    // -fsigned-bitfields is default, and clang doesn't support
> -fno-for-scope.
> -  if (!Args.hasFlag(options::OPT_ffor_scope,
> -                    options::OPT_fno_for_scope))
> +  if (!Args.hasFlag(options::OPT_ffor_scope, options::OPT_fno_for_scope))
>      D.Diag(diag::err_drv_clang_unsupported)
> -      << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args);
> +        << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args);
>
>    // -finput_charset=UTF-8 is default. Reject others
> -  if (Arg *inputCharset = Args.getLastArg(
> -          options::OPT_finput_charset_EQ)) {
> -      StringRef value = inputCharset->getValue();
> -      if (value != "UTF-8")
> -          D.Diag(diag::err_drv_invalid_value) <<
> inputCharset->getAsString(Args) << value;
> +  if (Arg *inputCharset =
> Args.getLastArg(options::OPT_finput_charset_EQ)) {
> +    StringRef value = inputCharset->getValue();
> +    if (value != "UTF-8")
> +      D.Diag(diag::err_drv_invalid_value) <<
> inputCharset->getAsString(Args)
> +                                          << value;
>    }
>
>    // -fexec_charset=UTF-8 is default. Reject others
> -  if (Arg *execCharset = Args.getLastArg(
> -          options::OPT_fexec_charset_EQ)) {
> -      StringRef value = execCharset->getValue();
> -      if (value != "UTF-8")
> -          D.Diag(diag::err_drv_invalid_value) <<
> execCharset->getAsString(Args) << value;
> +  if (Arg *execCharset = Args.getLastArg(options::OPT_fexec_charset_EQ)) {
> +    StringRef value = execCharset->getValue();
> +    if (value != "UTF-8")
> +      D.Diag(diag::err_drv_invalid_value) <<
> execCharset->getAsString(Args)
> +                                          << value;
>    }
>
>    // -fcaret-diagnostics is default.
> @@ -4582,22 +4532,21 @@ void Clang::ConstructJob(Compilation &C,
>      CmdArgs.push_back("-fdiagnostics-show-option");
>
>    if (const Arg *A =
> -        Args.getLastArg(options::OPT_fdiagnostics_show_category_EQ)) {
> +          Args.getLastArg(options::OPT_fdiagnostics_show_category_EQ)) {
>      CmdArgs.push_back("-fdiagnostics-show-category");
>      CmdArgs.push_back(A->getValue());
>    }
>
> -  if (const Arg *A =
> -        Args.getLastArg(options::OPT_fdiagnostics_format_EQ)) {
> +  if (const Arg *A =
> Args.getLastArg(options::OPT_fdiagnostics_format_EQ)) {
>      CmdArgs.push_back("-fdiagnostics-format");
>      CmdArgs.push_back(A->getValue());
>    }
>
>    if (Arg *A = Args.getLastArg(
> -      options::OPT_fdiagnostics_show_note_include_stack,
> -      options::OPT_fno_diagnostics_show_note_include_stack)) {
> +          options::OPT_fdiagnostics_show_note_include_stack,
> +          options::OPT_fno_diagnostics_show_note_include_stack)) {
>      if (A->getOption().matches(
> -        options::OPT_fdiagnostics_show_note_include_stack))
> +            options::OPT_fdiagnostics_show_note_include_stack))
>        CmdArgs.push_back("-fdiagnostics-show-note-include-stack");
>      else
>        CmdArgs.push_back("-fno-diagnostics-show-note-include-stack");
> @@ -4635,7 +4584,7 @@ void Clang::ConstructJob(Compilation &C,
>          ShowColors = Colors_Auto;
>        else
>          getToolChain().getDriver().Diag(diag::err_drv_clang_unsupported)
> -          << ("-fdiagnostics-color=" + value).str();
> +            << ("-fdiagnostics-color=" + value).str();
>      }
>    }
>    if (ShowColors == Colors_On ||
> @@ -4649,8 +4598,7 @@ void Clang::ConstructJob(Compilation &C,
>                      options::OPT_fno_show_source_location))
>      CmdArgs.push_back("-fno-show-source-location");
>
> -  if (!Args.hasFlag(options::OPT_fshow_column,
> -                    options::OPT_fno_show_column,
> +  if (!Args.hasFlag(options::OPT_fshow_column,
> options::OPT_fno_show_column,
>                      true))
>      CmdArgs.push_back("-fno-show-column");
>
> @@ -4658,7 +4606,6 @@ void Clang::ConstructJob(Compilation &C,
>                      options::OPT_fno_spell_checking))
>      CmdArgs.push_back("-fno-spell-checking");
>
> -
>    // -fno-asm-blocks is default.
>    if (Args.hasFlag(options::OPT_fasm_blocks, options::OPT_fno_asm_blocks,
>                     false))
> @@ -4673,16 +4620,16 @@ void Clang::ConstructJob(Compilation &C,
>    // selected. For optimization levels that want vectorization we use the
> alias
>    // option to simplify the hasFlag logic.
>    bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false);
> -  OptSpecifier VectorizeAliasOption = EnableVec ? options::OPT_O_Group :
> -    options::OPT_fvectorize;
> +  OptSpecifier VectorizeAliasOption =
> +      EnableVec ? options::OPT_O_Group : options::OPT_fvectorize;
>    if (Args.hasFlag(options::OPT_fvectorize, VectorizeAliasOption,
>                     options::OPT_fno_vectorize, EnableVec))
>      CmdArgs.push_back("-vectorize-loops");
>
>    // -fslp-vectorize is enabled based on the optimization level selected.
>    bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
> -  OptSpecifier SLPVectAliasOption = EnableSLPVec ? options::OPT_O_Group :
> -    options::OPT_fslp_vectorize;
> +  OptSpecifier SLPVectAliasOption =
> +      EnableSLPVec ? options::OPT_O_Group : options::OPT_fslp_vectorize;
>    if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption,
>                     options::OPT_fno_slp_vectorize, EnableSLPVec))
>      CmdArgs.push_back("-vectorize-slp");
> @@ -4717,16 +4664,16 @@ void Clang::ConstructJob(Compilation &C,
>                     options::OPT_fno_apple_pragma_pack, false))
>      CmdArgs.push_back("-fapple-pragma-pack");
>
> -  // le32-specific flags:
> +  // le32-specific flags:
>    //  -fno-math-builtin: clang should not convert math builtins to
> intrinsics
>    //                     by default.
>    if (getToolChain().getArch() == llvm::Triple::le32) {
>      CmdArgs.push_back("-fno-math-builtin");
>    }
>
> -  // Default to -fno-builtin-str{cat,cpy} on Darwin for ARM.
> -  //
> -  // FIXME: This is disabled until clang -cc1 supports -fno-builtin-foo.
> PR4941.
> +// Default to -fno-builtin-str{cat,cpy} on Darwin for ARM.
> +//
> +// FIXME: This is disabled until clang -cc1 supports -fno-builtin-foo.
> PR4941.
>  #if 0
>    if (getToolChain().getTriple().isOSDarwin() &&
>        (getToolChain().getArch() == llvm::Triple::arm ||
> @@ -4758,7 +4705,7 @@ void Clang::ConstructJob(Compilation &C,
>
>    Args.AddLastArg(CmdArgs, options::OPT_dM);
>    Args.AddLastArg(CmdArgs, options::OPT_dD);
> -
> +
>    // Handle serialized diagnostics.
>    if (Arg *A = Args.getLastArg(options::OPT__serialize_diags)) {
>      CmdArgs.push_back("-serialize-diagnostic-file");
> @@ -4840,9 +4787,9 @@ void Clang::ConstructJob(Compilation &C,
>    // Add the split debug info name to the command lines here so we
>    // can propagate it to the backend.
>    bool SplitDwarf = Args.hasArg(options::OPT_gsplit_dwarf) &&
> -    getToolChain().getTriple().isOSLinux() &&
> -    (isa<AssembleJobAction>(JA) || isa<CompileJobAction>(JA) ||
> -     isa<BackendJobAction>(JA));
> +                    getToolChain().getTriple().isOSLinux() &&
> +                    (isa<AssembleJobAction>(JA) ||
> isa<CompileJobAction>(JA) ||
> +                     isa<BackendJobAction>(JA));
>    const char *SplitDwarfOut;
>    if (SplitDwarf) {
>      CmdArgs.push_back("-split-dwarf-file");
> @@ -4862,7 +4809,6 @@ void Clang::ConstructJob(Compilation &C,
>      C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>    }
>
> -
>    // Handle the debug info splitting at object creation time if we're
>    // creating an object.
>    // TODO: Currently only works on linux with newer objcopy.
> @@ -4871,8 +4817,8 @@ void Clang::ConstructJob(Compilation &C,
>
>    if (Arg *A = Args.getLastArg(options::OPT_pg))
>      if (Args.hasArg(options::OPT_fomit_frame_pointer))
> -      D.Diag(diag::err_drv_argument_not_allowed_with)
> -        << "-fomit-frame-pointer" << A->getAsString(Args);
> +      D.Diag(diag::err_drv_argument_not_allowed_with) <<
> "-fomit-frame-pointer"
> +                                                      <<
> A->getAsString(Args);
>
>    // Claim some arguments which clang supports automatically.
>
> @@ -4897,9 +4843,9 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(co
>                                        ArgStringList &cmdArgs,
>                                        RewriteKind rewriteKind) const {
>    // Look for the controlling runtime option.
> -  Arg *runtimeArg = args.getLastArg(options::OPT_fnext_runtime,
> -                                    options::OPT_fgnu_runtime,
> -                                    options::OPT_fobjc_runtime_EQ);
> +  Arg *runtimeArg =
> +      args.getLastArg(options::OPT_fnext_runtime,
> options::OPT_fgnu_runtime,
> +                      options::OPT_fobjc_runtime_EQ);
>
>    // Just forward -fobjc-runtime= to the frontend.  This supercedes
>    // options about fragility.
> @@ -4909,7 +4855,7 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(co
>      StringRef value = runtimeArg->getValue();
>      if (runtime.tryParse(value)) {
>        getToolChain().getDriver().Diag(diag::err_drv_unknown_objc_runtime)
> -        << value;
> +          << value;
>      }
>
>      runtimeArg->render(args, cmdArgs);
> @@ -4932,26 +4878,25 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(co
>      else if (value == "3")
>        objcABIVersion = 3;
>      else
> -      getToolChain().getDriver().Diag(diag::err_drv_clang_unsupported)
> -        << value;
> +      getToolChain().getDriver().Diag(diag::err_drv_clang_unsupported) <<
> value;
>    } else {
>      // Otherwise, determine if we are using the non-fragile ABI.
> -    bool nonFragileABIIsDefault =
> -      (rewriteKind == RK_NonFragile ||
> -       (rewriteKind == RK_None &&
> -        getToolChain().IsObjCNonFragileABIDefault()));
> +    bool nonFragileABIIsDefault =
> +        (rewriteKind == RK_NonFragile ||
> +         (rewriteKind == RK_None &&
> +          getToolChain().IsObjCNonFragileABIDefault()));
>      if (args.hasFlag(options::OPT_fobjc_nonfragile_abi,
>                       options::OPT_fno_objc_nonfragile_abi,
>                       nonFragileABIIsDefault)) {
> -      // Determine the non-fragile ABI version to use.
> +// Determine the non-fragile ABI version to use.
>  #ifdef DISABLE_DEFAULT_NONFRAGILEABI_TWO
>        unsigned nonFragileABIVersion = 1;
>  #else
>        unsigned nonFragileABIVersion = 2;
>  #endif
>
> -      if (Arg *abiArg = args.getLastArg(
> -            options::OPT_fobjc_nonfragile_abi_version_EQ)) {
> +      if (Arg *abiArg =
> +
> args.getLastArg(options::OPT_fobjc_nonfragile_abi_version_EQ)) {
>          StringRef value = abiArg->getValue();
>          if (value == "1")
>            nonFragileABIVersion = 1;
> @@ -4959,7 +4904,7 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(co
>            nonFragileABIVersion = 2;
>          else
>            getToolChain().getDriver().Diag(diag::err_drv_clang_unsupported)
> -            << value;
> +              << value;
>        }
>
>        objcABIVersion = 1 + nonFragileABIVersion;
> @@ -4988,30 +4933,30 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(co
>        break;
>      }
>
> -  // -fnext-runtime
> +    // -fnext-runtime
>    } else if (runtimeArg->getOption().matches(options::OPT_fnext_runtime))
> {
>      // On Darwin, make this use the default behavior for the toolchain.
>      if (getToolChain().getTriple().isOSDarwin()) {
>        runtime = getToolChain().getDefaultObjCRuntime(isNonFragile);
>
> -    // Otherwise, build for a generic macosx port.
> +      // Otherwise, build for a generic macosx port.
>      } else {
>        runtime = ObjCRuntime(ObjCRuntime::MacOSX, VersionTuple());
>      }
>
> -  // -fgnu-runtime
> +    // -fgnu-runtime
>    } else {
>      assert(runtimeArg->getOption().matches(options::OPT_fgnu_runtime));
>      // Legacy behaviour is to target the gnustep runtime if we are i
>      // non-fragile mode or the GCC runtime in fragile mode.
>      if (isNonFragile)
> -      runtime = ObjCRuntime(ObjCRuntime::GNUstep, VersionTuple(1,6));
> +      runtime = ObjCRuntime(ObjCRuntime::GNUstep, VersionTuple(1, 6));
>      else
>        runtime = ObjCRuntime(ObjCRuntime::GCC, VersionTuple());
>    }
>
> -  cmdArgs.push_back(args.MakeArgString(
> -                                 "-fobjc-runtime=" +
> runtime.getAsString()));
> +  cmdArgs.push_back(
> +      args.MakeArgString("-fobjc-runtime=" + runtime.getAsString()));
>    return runtime;
>  }
>
> @@ -5038,14 +4983,22 @@ struct EHFlags {
>  /// The default is /EHs-c-, meaning cleanups are disabled.
>  static EHFlags parseClangCLEHFlags(const Driver &D, const ArgList &Args) {
>    EHFlags EH;
> -  std::vector<std::string> EHArgs =
> Args.getAllArgValues(options::OPT__SLASH_EH);
> +  std::vector<std::string> EHArgs =
> +      Args.getAllArgValues(options::OPT__SLASH_EH);
>    for (auto EHVal : EHArgs) {
>      for (size_t I = 0, E = EHVal.size(); I != E; ++I) {
>        switch (EHVal[I]) {
> -      case 'a': EH.Asynch = maybeConsumeDash(EHVal, I); continue;
> -      case 'c': EH.NoExceptC = maybeConsumeDash(EHVal, I); continue;
> -      case 's': EH.Synch = maybeConsumeDash(EHVal, I); continue;
> -      default: break;
> +      case 'a':
> +        EH.Asynch = maybeConsumeDash(EHVal, I);
> +        continue;
> +      case 'c':
> +        EH.NoExceptC = maybeConsumeDash(EHVal, I);
> +        continue;
> +      case 's':
> +        EH.Synch = maybeConsumeDash(EHVal, I);
> +        continue;
> +      default:
> +        break;
>        }
>        D.Diag(clang::diag::err_drv_invalid_value) << "/EH" << EHVal;
>        break;
> @@ -5065,33 +5018,33 @@ void Clang::AddClangCLArgs(const ArgList
>    if (Arg *A = Args.getLastArg(options::OPT__SLASH_M_Group))
>      RTOptionID = A->getOption().getID();
>
> -  switch(RTOptionID) {
> -    case options::OPT__SLASH_MD:
> -      if (Args.hasArg(options::OPT__SLASH_LDd))
> -        CmdArgs.push_back("-D_DEBUG");
> -      CmdArgs.push_back("-D_MT");
> -      CmdArgs.push_back("-D_DLL");
> -      CmdArgs.push_back("--dependent-lib=msvcrt");
> -      break;
> -    case options::OPT__SLASH_MDd:
> +  switch (RTOptionID) {
> +  case options::OPT__SLASH_MD:
> +    if (Args.hasArg(options::OPT__SLASH_LDd))
>        CmdArgs.push_back("-D_DEBUG");
> -      CmdArgs.push_back("-D_MT");
> -      CmdArgs.push_back("-D_DLL");
> -      CmdArgs.push_back("--dependent-lib=msvcrtd");
> -      break;
> -    case options::OPT__SLASH_MT:
> -      if (Args.hasArg(options::OPT__SLASH_LDd))
> -        CmdArgs.push_back("-D_DEBUG");
> -      CmdArgs.push_back("-D_MT");
> -      CmdArgs.push_back("--dependent-lib=libcmt");
> -      break;
> -    case options::OPT__SLASH_MTd:
> +    CmdArgs.push_back("-D_MT");
> +    CmdArgs.push_back("-D_DLL");
> +    CmdArgs.push_back("--dependent-lib=msvcrt");
> +    break;
> +  case options::OPT__SLASH_MDd:
> +    CmdArgs.push_back("-D_DEBUG");
> +    CmdArgs.push_back("-D_MT");
> +    CmdArgs.push_back("-D_DLL");
> +    CmdArgs.push_back("--dependent-lib=msvcrtd");
> +    break;
> +  case options::OPT__SLASH_MT:
> +    if (Args.hasArg(options::OPT__SLASH_LDd))
>        CmdArgs.push_back("-D_DEBUG");
> -      CmdArgs.push_back("-D_MT");
> -      CmdArgs.push_back("--dependent-lib=libcmtd");
> -      break;
> -    default:
> -      llvm_unreachable("Unexpected option ID.");
> +    CmdArgs.push_back("-D_MT");
> +    CmdArgs.push_back("--dependent-lib=libcmt");
> +    break;
> +  case options::OPT__SLASH_MTd:
> +    CmdArgs.push_back("-D_DEBUG");
> +    CmdArgs.push_back("-D_MT");
> +    CmdArgs.push_back("--dependent-lib=libcmtd");
> +    break;
> +  default:
> +    llvm_unreachable("Unexpected option ID.");
>    }
>
>    // This provides POSIX compatibility (maps 'open' to '_open'), which
> most
> @@ -5193,8 +5146,7 @@ void ClangAs::AddMIPSTargetArgs(const Ar
>  }
>
>  void ClangAs::ConstructJob(Compilation &C, const JobAction &JA,
> -                           const InputInfo &Output,
> -                           const InputInfoList &Inputs,
> +                           const InputInfo &Output, const InputInfoList
> &Inputs,
>                             const ArgList &Args,
>                             const char *LinkingOutput) const {
>    ArgStringList CmdArgs;
> @@ -5216,8 +5168,8 @@ void ClangAs::ConstructJob(Compilation &
>
>    // Add the "effective" target triple.
>    CmdArgs.push_back("-triple");
> -  std::string TripleStr =
> -    getToolChain().ComputeEffectiveClangTriple(Args, Input.getType());
> +  std::string TripleStr =
> +      getToolChain().ComputeEffectiveClangTriple(Args, Input.getType());
>    CmdArgs.push_back(Args.MakeArgString(TripleStr));
>
>    // Set the output mode, we currently only expect to be used as a real
> @@ -5243,7 +5195,7 @@ void ClangAs::ConstructJob(Compilation &
>    getTargetFeatures(D, Triple, Args, CmdArgs, true);
>
>    // Ignore explicit -force_cpusubtype_ALL option.
> -  (void) Args.hasArg(options::OPT_force__cpusubtype__ALL);
> +  (void)Args.hasArg(options::OPT_force__cpusubtype__ALL);
>
>    // Pass along any -I options so we get proper .include search paths.
>    Args.AddAllArgs(CmdArgs, options::OPT_I_Group);
> @@ -5303,7 +5255,7 @@ void ClangAs::ConstructJob(Compilation &
>    // FIXME: Add -static support, once we have it.
>
>    // Add target specific flags.
> -  switch(getToolChain().getArch()) {
> +  switch (getToolChain().getArch()) {
>    default:
>      break;
>
> @@ -5351,8 +5303,7 @@ void GnuTool::anchor() {}
>
>  void gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
>                                 const InputInfo &Output,
> -                               const InputInfoList &Inputs,
> -                               const ArgList &Args,
> +                               const InputInfoList &Inputs, const ArgList
> &Args,
>                                 const char *LinkingOutput) const {
>    const Driver &D = getToolChain().getDriver();
>    ArgStringList CmdArgs;
> @@ -5384,7 +5335,7 @@ void gcc::Common::ConstructJob(Compilati
>    if (getToolChain().getTriple().isOSDarwin()) {
>      CmdArgs.push_back("-arch");
>      CmdArgs.push_back(
> -      Args.MakeArgString(getToolChain().getDefaultUniversalArchName()));
> +        Args.MakeArgString(getToolChain().getDefaultUniversalArchName()));
>    }
>
>    // Try to force gcc to match the tool chain we want, if we recognize
> @@ -5407,8 +5358,7 @@ void gcc::Common::ConstructJob(Compilati
>      CmdArgs.push_back("-fsyntax-only");
>    }
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    // Only pass -x if gcc will understand it; otherwise hope gcc
>    // understands the suffix correctly. The main use case this would go
> @@ -5423,13 +5373,12 @@ void gcc::Common::ConstructJob(Compilati
>      if (II.getType() == types::TY_LLVM_IR || II.getType() ==
> types::TY_LTO_IR ||
>          II.getType() == types::TY_LLVM_BC || II.getType() ==
> types::TY_LTO_BC)
>        D.Diag(diag::err_drv_no_linker_llvm_support)
> -        << getToolChain().getTripleString();
> +          << getToolChain().getTripleString();
>      else if (II.getType() == types::TY_AST)
> -      D.Diag(diag::err_drv_no_ast_support)
> -        << getToolChain().getTripleString();
> +      D.Diag(diag::err_drv_no_ast_support) <<
> getToolChain().getTripleString();
>      else if (II.getType() == types::TY_ModuleFile)
>        D.Diag(diag::err_drv_no_module_support)
> -        << getToolChain().getTripleString();
> +          << getToolChain().getTripleString();
>
>      if (types::canTypeBeUserSpecified(II.getType())) {
>        CmdArgs.push_back("-x");
> @@ -5461,8 +5410,7 @@ void gcc::Common::ConstructJob(Compilati
>    } else
>      GCCName = "gcc";
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetProgramPath(GCCName));
> +  const char *Exec =
> Args.MakeArgString(getToolChain().GetProgramPath(GCCName));
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -5526,11 +5474,10 @@ void hexagon::Assembler::ConstructJob(Co
>      CmdArgs.push_back("-fsyntax-only");
>    }
>
> -  if (const char* v = toolchains::Hexagon_TC::GetSmallDataThreshold(Args))
> +  if (const char *v = toolchains::Hexagon_TC::GetSmallDataThreshold(Args))
>      CmdArgs.push_back(Args.MakeArgString(std::string("-G") + v));
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    // Only pass -x if gcc will understand it; otherwise hope gcc
>    // understands the suffix correctly. The main use case this would go
> @@ -5545,18 +5492,19 @@ void hexagon::Assembler::ConstructJob(Co
>      if (II.getType() == types::TY_LLVM_IR || II.getType() ==
> types::TY_LTO_IR ||
>          II.getType() == types::TY_LLVM_BC || II.getType() ==
> types::TY_LTO_BC)
>        D.Diag(clang::diag::err_drv_no_linker_llvm_support)
> -        << getToolChain().getTripleString();
> +          << getToolChain().getTripleString();
>      else if (II.getType() == types::TY_AST)
>        D.Diag(clang::diag::err_drv_no_ast_support)
> -        << getToolChain().getTripleString();
> +          << getToolChain().getTripleString();
>      else if (II.getType() == types::TY_ModuleFile)
>        D.Diag(diag::err_drv_no_module_support)
> -      << getToolChain().getTripleString();
> +          << getToolChain().getTripleString();
>
>      if (II.isFilename())
>        CmdArgs.push_back(II.getFilename());
>      else
> -      // Don't render as input, we need gcc to do the translations.
> FIXME: Pranav: What is this ?
> +      // Don't render as input, we need gcc to do the translations.
> +      // FIXME: Pranav: What is this ?
>        II.getInputArg().render(Args, CmdArgs);
>    }
>
> @@ -5571,16 +5519,15 @@ void hexagon::Linker::RenderExtraToolArg
>  }
>
>  static void constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
> -                              const toolchains::Hexagon_TC& ToolChain,
> -                              const InputInfo &Output,
> -                              const InputInfoList &Inputs,
> -                              const ArgList &Args,
> -                              ArgStringList &CmdArgs,
> -                              const char *LinkingOutput) {
> +                                     const toolchains::Hexagon_TC
> &ToolChain,
> +                                     const InputInfo &Output,
> +                                     const InputInfoList &Inputs,
> +                                     const ArgList &Args,
> +                                     ArgStringList &CmdArgs,
> +                                     const char *LinkingOutput) {
>
>    const Driver &D = ToolChain.getDriver();
>
> -
>
>  //----------------------------------------------------------------------------
>    //
>
>  //----------------------------------------------------------------------------
> @@ -5624,7 +5571,7 @@ static void constructHexagonLinkArgs(Com
>    if (buildPIE && !buildingLib)
>      CmdArgs.push_back("-pie");
>
> -  if (const char* v =
> toolchains::Hexagon_TC::GetSmallDataThreshold(Args)) {
> +  if (const char *v =
> toolchains::Hexagon_TC::GetSmallDataThreshold(Args)) {
>      CmdArgs.push_back(Args.MakeArgString(std::string("-G") + v));
>      useG0 = toolchains::Hexagon_TC::UsesG0(v);
>    }
> @@ -5640,15 +5587,14 @@ static void constructHexagonLinkArgs(Com
>    const std::string MarchG0Suffix = MarchSuffix + G0Suffix;
>    const std::string RootDir =
>        toolchains::Hexagon_TC::GetGnuDir(D.InstalledDir, Args) + "/";
> -  const std::string StartFilesDir = RootDir
> -                                    + "hexagon/lib"
> -                                    + (useG0 ? MarchG0Suffix :
> MarchSuffix);
> +  const std::string StartFilesDir =
> +      RootDir + "hexagon/lib" + (useG0 ? MarchG0Suffix : MarchSuffix);
>
>
>  //----------------------------------------------------------------------------
>    // moslib
>
>  //----------------------------------------------------------------------------
>    std::vector<std::string> oslibs;
> -  bool hasStandalone= false;
> +  bool hasStandalone = false;
>
>    for (const Arg *A : Args.filtered(options::OPT_moslib_EQ)) {
>      A->claim();
> @@ -5668,7 +5614,7 @@ static void constructHexagonLinkArgs(Com
>      if (!buildingLib) {
>        if (hasStandalone) {
>          CmdArgs.push_back(
> -          Args.MakeArgString(StartFilesDir + "/crt0_standalone.o"));
> +            Args.MakeArgString(StartFilesDir + "/crt0_standalone.o"));
>        }
>        CmdArgs.push_back(Args.MakeArgString(StartFilesDir + "/crt0.o"));
>      }
> @@ -5706,8 +5652,9 @@ static void constructHexagonLinkArgs(Com
>      CmdArgs.push_back("--start-group");
>
>      if (!buildingLib) {
> -      for(std::vector<std::string>::iterator i = oslibs.begin(),
> -            e = oslibs.end(); i != e; ++i)
> +      for (std::vector<std::string>::iterator i = oslibs.begin(),
> +                                              e = oslibs.end();
> +           i != e; ++i)
>          CmdArgs.push_back(Args.MakeArgString("-l" + *i));
>        CmdArgs.push_back("-lc");
>      }
> @@ -5731,8 +5678,8 @@ void hexagon::Linker::ConstructJob(Compi
>                                     const ArgList &Args,
>                                     const char *LinkingOutput) const {
>
> -  const toolchains::Hexagon_TC& ToolChain =
> -    static_cast<const toolchains::Hexagon_TC&>(getToolChain());
> +  const toolchains::Hexagon_TC &ToolChain =
> +      static_cast<const toolchains::Hexagon_TC &>(getToolChain());
>
>    ArgStringList CmdArgs;
>    constructHexagonLinkArgs(C, JA, ToolChain, Output, Inputs, Args,
> CmdArgs,
> @@ -5764,7 +5711,7 @@ const std::string arm::getARMArch(const
>        const char *Suffix = arm::getLLVMArchSuffixForARM(CPU, MArch);
>        // If there is no valid architecture suffix for this CPU we don't
> know how
>        // to handle it, so return no architecture.
> -      if (strcmp(Suffix,"") == 0)
> +      if (strcmp(Suffix, "") == 0)
>          MArch = "";
>        else
>          MArch = std::string("arm") + Suffix;
> @@ -5793,7 +5740,7 @@ const char *arm::getARMCPUForMArch(const
>
>  /// getARMTargetCPU - Get the (LLVM) name of the ARM cpu we are targeting.
>  std::string arm::getARMTargetCPU(const ArgList &Args,
> -                               const llvm::Triple &Triple) {
> +                                 const llvm::Triple &Triple) {
>    // FIXME: Warn on inconsistent use of -mcpu and -march.
>    // If we have -mcpu=, use that.
>    if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) {
> @@ -5822,7 +5769,7 @@ const char *arm::getLLVMArchSuffixForARM
>    return llvm::ARMTargetParser::getSubArch(ArchKind);
>  }
>
> -void arm::appendEBLinkFlags(const ArgList &Args, ArgStringList &CmdArgs,
> +void arm::appendEBLinkFlags(const ArgList &Args, ArgStringList &CmdArgs,
>                              const llvm::Triple &Triple) {
>    if (Args.hasArg(options::OPT_r))
>      return;
> @@ -5866,14 +5813,14 @@ bool mips::isUCLibc(const ArgList &Args)
>  bool mips::isNaN2008(const ArgList &Args, const llvm::Triple &Triple) {
>    if (Arg *NaNArg = Args.getLastArg(options::OPT_mnan_EQ))
>      return llvm::StringSwitch<bool>(NaNArg->getValue())
> -               .Case("2008", true)
> -               .Case("legacy", false)
> -               .Default(false);
> +        .Case("2008", true)
> +        .Case("legacy", false)
> +        .Default(false);
>
>    // NaN2008 is the default for MIPS32r6/MIPS64r6.
>    return llvm::StringSwitch<bool>(getCPUName(Args, Triple))
> -             .Cases("mips32r6", "mips64r6", true)
> -             .Default(false);
> +      .Cases("mips32r6", "mips64r6", true)
> +      .Default(false);
>
>    return false;
>  }
> @@ -5893,10 +5840,10 @@ bool mips::isFPXXDefault(const llvm::Tri
>      return false;
>
>    return llvm::StringSwitch<bool>(CPUName)
> -             .Cases("mips2", "mips3", "mips4", "mips5", true)
> -             .Cases("mips32", "mips32r2", "mips32r3", "mips32r5", true)
> -             .Cases("mips64", "mips64r2", "mips64r3", "mips64r5", true)
> -             .Default(false);
> +      .Cases("mips2", "mips3", "mips4", "mips5", true)
> +      .Cases("mips32", "mips32r2", "mips32r3", "mips32r5", true)
> +      .Cases("mips64", "mips64r2", "mips64r3", "mips64r5", true)
> +      .Default(false);
>  }
>
>  bool mips::shouldUseFPXX(const ArgList &Args, const llvm::Triple &Triple,
> @@ -5927,25 +5874,25 @@ llvm::Triple::ArchType darwin::getArchTy
>    // translation.
>
>    return llvm::StringSwitch<llvm::Triple::ArchType>(Str)
> -    .Cases("ppc", "ppc601", "ppc603", "ppc604", "ppc604e",
> llvm::Triple::ppc)
> -    .Cases("ppc750", "ppc7400", "ppc7450", "ppc970", llvm::Triple::ppc)
> -    .Case("ppc64", llvm::Triple::ppc64)
> -    .Cases("i386", "i486", "i486SX", "i586", "i686", llvm::Triple::x86)
> -    .Cases("pentium", "pentpro", "pentIIm3", "pentIIm5", "pentium4",
> -           llvm::Triple::x86)
> -    .Cases("x86_64", "x86_64h", llvm::Triple::x86_64)
> -    // This is derived from the driver driver.
> -    .Cases("arm", "armv4t", "armv5", "armv6", "armv6m", llvm::Triple::arm)
> -    .Cases("armv7", "armv7em", "armv7k", "armv7m", llvm::Triple::arm)
> -    .Cases("armv7s", "xscale", llvm::Triple::arm)
> -    .Case("arm64", llvm::Triple::aarch64)
> -    .Case("r600", llvm::Triple::r600)
> -    .Case("amdgcn", llvm::Triple::amdgcn)
> -    .Case("nvptx", llvm::Triple::nvptx)
> -    .Case("nvptx64", llvm::Triple::nvptx64)
> -    .Case("amdil", llvm::Triple::amdil)
> -    .Case("spir", llvm::Triple::spir)
> -    .Default(llvm::Triple::UnknownArch);
> +      .Cases("ppc", "ppc601", "ppc603", "ppc604", "ppc604e",
> llvm::Triple::ppc)
> +      .Cases("ppc750", "ppc7400", "ppc7450", "ppc970", llvm::Triple::ppc)
> +      .Case("ppc64", llvm::Triple::ppc64)
> +      .Cases("i386", "i486", "i486SX", "i586", "i686", llvm::Triple::x86)
> +      .Cases("pentium", "pentpro", "pentIIm3", "pentIIm5", "pentium4",
> +             llvm::Triple::x86)
> +      .Cases("x86_64", "x86_64h", llvm::Triple::x86_64)
> +      // This is derived from the driver driver.
> +      .Cases("arm", "armv4t", "armv5", "armv6", "armv6m",
> llvm::Triple::arm)
> +      .Cases("armv7", "armv7em", "armv7k", "armv7m", llvm::Triple::arm)
> +      .Cases("armv7s", "xscale", llvm::Triple::arm)
> +      .Case("arm64", llvm::Triple::aarch64)
> +      .Case("r600", llvm::Triple::r600)
> +      .Case("amdgcn", llvm::Triple::amdgcn)
> +      .Case("nvptx", llvm::Triple::nvptx)
> +      .Case("nvptx64", llvm::Triple::nvptx64)
> +      .Case("amdil", llvm::Triple::amdil)
> +      .Case("spir", llvm::Triple::spir)
> +      .Default(llvm::Triple::UnknownArch);
>  }
>
>  void darwin::setTripleTypeForMachOArchName(llvm::Triple &T, StringRef
> Str) {
> @@ -6112,8 +6059,7 @@ void darwin::Assembler::ConstructJob(Com
>         Args.hasArg(options::OPT_static)))
>      CmdArgs.push_back("-static");
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    assert(Output.isFilename() && "Unexpected lipo output.");
>    CmdArgs.push_back("-o");
> @@ -6124,8 +6070,7 @@ void darwin::Assembler::ConstructJob(Com
>
>    // asm_final spec is empty.
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetProgramPath("as"));
> +  const char *Exec =
> Args.MakeArgString(getToolChain().GetProgramPath("as"));
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6161,14 +6106,13 @@ void darwin::Linker::AddLinkArgs(Compila
>    const Driver &D = getToolChain().getDriver();
>    const toolchains::MachO &MachOTC = getMachOToolChain();
>
> -  unsigned Version[3] = { 0, 0, 0 };
> +  unsigned Version[3] = {0, 0, 0};
>    if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) {
>      bool HadExtra;
> -    if (!Driver::GetReleaseVersion(A->getValue(), Version[0],
> -                                   Version[1], Version[2], HadExtra) ||
> +    if (!Driver::GetReleaseVersion(A->getValue(), Version[0], Version[1],
> +                                   Version[2], HadExtra) ||
>          HadExtra)
> -      D.Diag(diag::err_drv_invalid_version_number)
> -        << A->getAsString(Args);
> +      D.Diag(diag::err_drv_invalid_version_number) <<
> A->getAsString(Args);
>    }
>
>    // Newer linkers support -demangle. Pass it if supported and not
> disabled by
> @@ -6190,7 +6134,7 @@ void darwin::Linker::AddLinkArgs(Compila
>    // dsymutil step.
>    if (Version[0] >= 116 && D.IsUsingLTO(Args) && NeedsTempPath(Inputs)) {
>      const char *TmpPath = C.getArgs().MakeArgString(
> -      D.GetTemporaryPath("cc",
> types::getTypeTempSuffix(types::TY_Object)));
> +        D.GetTemporaryPath("cc",
> types::getTypeTempSuffix(types::TY_Object)));
>      C.addTempFile(TmpPath);
>      CmdArgs.push_back("-object_path_lto");
>      CmdArgs.push_back(TmpPath);
> @@ -6218,8 +6162,8 @@ void darwin::Linker::AddLinkArgs(Compila
>      if ((A = Args.getLastArg(options::OPT_compatibility__version)) ||
>          (A = Args.getLastArg(options::OPT_current__version)) ||
>          (A = Args.getLastArg(options::OPT_install__name)))
> -      D.Diag(diag::err_drv_argument_only_allowed_with)
> -        << A->getAsString(Args) << "-dynamiclib";
> +      D.Diag(diag::err_drv_argument_only_allowed_with) <<
> A->getAsString(Args)
> +                                                       << "-dynamiclib";
>
>      Args.AddLastArg(CmdArgs, options::OPT_force__flat__namespace);
>      Args.AddLastArg(CmdArgs, options::OPT_keep__private__externs);
> @@ -6234,8 +6178,8 @@ void darwin::Linker::AddLinkArgs(Compila
>          (A = Args.getLastArg(options::OPT_force__flat__namespace)) ||
>          (A = Args.getLastArg(options::OPT_keep__private__externs)) ||
>          (A = Args.getLastArg(options::OPT_private__bundle)))
> -      D.Diag(diag::err_drv_argument_not_allowed_with)
> -        << A->getAsString(Args) << "-dynamiclib";
> +      D.Diag(diag::err_drv_argument_not_allowed_with) <<
> A->getAsString(Args)
> +                                                      << "-dynamiclib";
>
>      Args.AddAllArgsTranslated(CmdArgs,
> options::OPT_compatibility__version,
>                                "-dylib_compatibility_version");
> @@ -6273,9 +6217,9 @@ void darwin::Linker::AddLinkArgs(Compila
>    Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined);
>    Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined__unused);
>
> -  if (const Arg *A = Args.getLastArg(options::OPT_fpie, options::OPT_fPIE,
> -                                     options::OPT_fno_pie,
> -                                     options::OPT_fno_PIE)) {
> +  if (const Arg *A =
> +          Args.getLastArg(options::OPT_fpie, options::OPT_fPIE,
> +                          options::OPT_fno_pie, options::OPT_fno_PIE)) {
>      if (A->getOption().matches(options::OPT_fpie) ||
>          A->getOption().matches(options::OPT_fPIE))
>        CmdArgs.push_back("-pie");
> @@ -6358,7 +6302,7 @@ void darwin::Linker::ConstructJob(Compil
>      for (const auto &Arg : Args)
>        Arg->claim();
>      const char *Exec =
> -      Args.MakeArgString(getToolChain().GetProgramPath("touch"));
> +        Args.MakeArgString(getToolChain().GetProgramPath("touch"));
>      CmdArgs.push_back(Output.getFilename());
>      C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>      return;
> @@ -6436,8 +6380,7 @@ void darwin::Linker::ConstructJob(Compil
>      InputFileList.push_back(II.getFilename());
>    }
>
> -  if (isObjCRuntimeLinked(Args) &&
> -      !Args.hasArg(options::OPT_nostdlib) &&
> +  if (isObjCRuntimeLinked(Args) && !Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nodefaultlibs)) {
>      // We use arclite library for both ARC and subscripting support.
>      getMachOToolChain().AddLinkARCArgs(Args, CmdArgs);
> @@ -6495,10 +6438,9 @@ void darwin::Linker::ConstructJob(Compil
>      }
>    }
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetLinkerPath());
> +  const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
>    std::unique_ptr<Command> Cmd =
> -    llvm::make_unique<Command>(JA, *this, Exec, CmdArgs);
> +      llvm::make_unique<Command>(JA, *this, Exec, CmdArgs);
>    Cmd->setInputFileList(std::move(InputFileList));
>    C.addCommand(std::move(Cmd));
>  }
> @@ -6541,7 +6483,7 @@ void darwin::Dsymutil::ConstructJob(Comp
>    CmdArgs.push_back(Input.getFilename());
>
>    const char *Exec =
> -    Args.MakeArgString(getToolChain().GetProgramPath("dsymutil"));
> +      Args.MakeArgString(getToolChain().GetProgramPath("dsymutil"));
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6564,7 +6506,7 @@ void darwin::VerifyDebug::ConstructJob(C
>    CmdArgs.push_back(Input.getFilename());
>
>    const char *Exec =
> -    Args.MakeArgString(getToolChain().GetProgramPath("dwarfdump"));
> +      Args.MakeArgString(getToolChain().GetProgramPath("dwarfdump"));
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6576,8 +6518,7 @@ void solaris::Assembler::ConstructJob(Co
>    claimNoWarnArgs(Args);
>    ArgStringList CmdArgs;
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -6689,8 +6630,7 @@ void solaris::Linker::ConstructJob(Compi
>
>    addProfileRT(getToolChain(), Args, CmdArgs);
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetLinkerPath());
> +  const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6752,8 +6692,7 @@ void openbsd::Assembler::ConstructJob(Co
>    if (NeedsKPIC)
>      addAssemblerKPIC(Args, CmdArgs);
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -6761,8 +6700,7 @@ void openbsd::Assembler::ConstructJob(Co
>    for (const auto &II : Inputs)
>      CmdArgs.push_back(II.getFilename());
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetProgramPath("as"));
> +  const char *Exec =
> Args.MakeArgString(getToolChain().GetProgramPath("as"));
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6821,25 +6759,25 @@ void openbsd::Linker::ConstructJob(Compi
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared)) {
> -      if (Args.hasArg(options::OPT_pg))
> -        CmdArgs.push_back(Args.MakeArgString(
> -                                getToolChain().GetFilePath("gcrt0.o")));
> +      if (Args.hasArg(options::OPT_pg))
> +        CmdArgs.push_back(
> +            Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
>        else
> -        CmdArgs.push_back(Args.MakeArgString(
> -                                getToolChain().GetFilePath("crt0.o")));
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbegin.o")));
> +        CmdArgs.push_back(
> +            Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
>      } else {
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbeginS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
>      }
>    }
>
>    std::string Triple = getToolChain().getTripleString();
>    if (Triple.substr(0, 6) == "x86_64")
>      Triple.replace(0, 6, "amd64");
> -  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc-lib/" + Triple +
> -                                       "/4.2.1"));
> +  CmdArgs.push_back(
> +      Args.MakeArgString("-L/usr/lib/gcc-lib/" + Triple + "/4.2.1"));
>
>    Args.AddAllArgs(CmdArgs, options::OPT_L);
>    Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
> @@ -6855,7 +6793,7 @@ void openbsd::Linker::ConstructJob(Compi
>        !Args.hasArg(options::OPT_nodefaultlibs)) {
>      if (D.CCCIsCXX()) {
>        getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
> -      if (Args.hasArg(options::OPT_pg))
> +      if (Args.hasArg(options::OPT_pg))
>          CmdArgs.push_back("-lm_p");
>        else
>          CmdArgs.push_back("-lm");
> @@ -6866,18 +6804,17 @@ void openbsd::Linker::ConstructJob(Compi
>      CmdArgs.push_back("-lgcc");
>
>      if (Args.hasArg(options::OPT_pthread)) {
> -      if (!Args.hasArg(options::OPT_shared) &&
> -          Args.hasArg(options::OPT_pg))
> -         CmdArgs.push_back("-lpthread_p");
> +      if (!Args.hasArg(options::OPT_shared) &&
> Args.hasArg(options::OPT_pg))
> +        CmdArgs.push_back("-lpthread_p");
>        else
> -         CmdArgs.push_back("-lpthread");
> +        CmdArgs.push_back("-lpthread");
>      }
>
>      if (!Args.hasArg(options::OPT_shared)) {
>        if (Args.hasArg(options::OPT_pg))
> -         CmdArgs.push_back("-lc_p");
> +        CmdArgs.push_back("-lc_p");
>        else
> -         CmdArgs.push_back("-lc");
> +        CmdArgs.push_back("-lc");
>      }
>
>      CmdArgs.push_back("-lgcc");
> @@ -6886,15 +6823,14 @@ void openbsd::Linker::ConstructJob(Compi
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared))
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtend.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
>      else
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtendS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
>    }
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetLinkerPath());
> +  const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -6906,8 +6842,7 @@ void bitrig::Assembler::ConstructJob(Com
>    claimNoWarnArgs(Args);
>    ArgStringList CmdArgs;
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -6959,16 +6894,16 @@ void bitrig::Linker::ConstructJob(Compil
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared)) {
>        if (Args.hasArg(options::OPT_pg))
> -        CmdArgs.push_back(Args.MakeArgString(
> -                                getToolChain().GetFilePath("gcrt0.o")));
> +        CmdArgs.push_back(
> +            Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
>        else
> -        CmdArgs.push_back(Args.MakeArgString(
> -                                getToolChain().GetFilePath("crt0.o")));
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbegin.o")));
> +        CmdArgs.push_back(
> +            Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
>      } else {
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbeginS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
>      }
>    }
>
> @@ -6989,8 +6924,7 @@ void bitrig::Linker::ConstructJob(Compil
>      }
>
>      if (Args.hasArg(options::OPT_pthread)) {
> -      if (!Args.hasArg(options::OPT_shared) &&
> -          Args.hasArg(options::OPT_pg))
> +      if (!Args.hasArg(options::OPT_shared) &&
> Args.hasArg(options::OPT_pg))
>          CmdArgs.push_back("-lpthread_p");
>        else
>          CmdArgs.push_back("-lpthread");
> @@ -7023,15 +6957,14 @@ void bitrig::Linker::ConstructJob(Compil
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared))
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtend.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
>      else
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtendS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
>    }
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetLinkerPath());
> +  const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -7084,7 +7017,7 @@ void freebsd::Assembler::ConstructJob(Co
>        CmdArgs.push_back("-mfpu=softvfp");
>      }
>
> -    switch(getToolChain().getTriple().getEnvironment()) {
> +    switch (getToolChain().getTriple().getEnvironment()) {
>      case llvm::Triple::GNUEABIHF:
>      case llvm::Triple::GNUEABI:
>      case llvm::Triple::EABI:
> @@ -7105,8 +7038,7 @@ void freebsd::Assembler::ConstructJob(Co
>      addAssemblerKPIC(Args, CmdArgs);
>    }
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -7297,8 +7229,7 @@ void freebsd::Linker::ConstructJob(Compi
>
>    addProfileRT(ToolChain, Args, CmdArgs);
>
> -  const char *Exec =
> -    Args.MakeArgString(getToolChain().GetLinkerPath());
> +  const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
>    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
>  }
>
> @@ -7362,11 +7293,10 @@ void netbsd::Assembler::ConstructJob(Com
>      break;
>
>    default:
> -    break;
> +    break;
>    }
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -7429,7 +7359,8 @@ void netbsd::Linker::ConstructJob(Compil
>      break;
>    case llvm::Triple::armeb:
>    case llvm::Triple::thumbeb:
> -    arm::appendEBLinkFlags(Args, CmdArgs,
> +    arm::appendEBLinkFlags(
> +        Args, CmdArgs,
>          llvm::Triple(getToolChain().ComputeEffectiveClangTriple(Args)));
>      CmdArgs.push_back("-m");
>      switch (getToolChain().getTriple().getEnvironment()) {
> @@ -7454,14 +7385,14 @@ void netbsd::Linker::ConstructJob(Compil
>          CmdArgs.push_back("elf32btsmip");
>        else
>          CmdArgs.push_back("elf32ltsmip");
> -   } else if (mips::hasMipsAbiArg(Args, "64")) {
> -     CmdArgs.push_back("-m");
> -     if (getToolChain().getArch() == llvm::Triple::mips64)
> -       CmdArgs.push_back("elf64btsmip");
> -     else
> -       CmdArgs.push_back("elf64ltsmip");
> -   }
> -   break;
> +    } else if (mips::hasMipsAbiArg(Args, "64")) {
> +      CmdArgs.push_back("-m");
> +      if (getToolChain().getArch() == llvm::Triple::mips64)
> +        CmdArgs.push_back("elf64btsmip");
> +      else
> +        CmdArgs.push_back("elf64ltsmip");
> +    }
> +    break;
>    case llvm::Triple::ppc:
>      CmdArgs.push_back("-m");
>      CmdArgs.push_back("elf32ppc_nbsd");
> @@ -7497,17 +7428,17 @@ void netbsd::Linker::ConstructJob(Compil
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared)) {
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crt0.o")));
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crti.o")));
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbegin.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
>      } else {
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crti.o")));
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbeginS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
>      }
>    }
>
> @@ -7525,7 +7456,7 @@ void netbsd::Linker::ConstructJob(Compil
>    getToolChain().getTriple().getOSVersion(Major, Minor, Micro);
>    bool useLibgcc = true;
>    if (Major >= 7 || (Major == 6 && Minor == 99 && Micro >= 49) || Major
> == 0) {
> -    switch(getToolChain().getArch()) {
> +    switch (getToolChain().getArch()) {
>      case llvm::Triple::aarch64:
>      case llvm::Triple::arm:
>      case llvm::Triple::armeb:
> @@ -7573,13 +7504,12 @@ void netbsd::Linker::ConstructJob(Compil
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared))
> -      CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(
> -
> "crtend.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
>      else
> -      CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(
> -
>  "crtendS.o")));
> -    CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(
> -
> "crtn.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
>    }
>
>    addProfileRT(getToolChain(), Args, CmdArgs);
> @@ -7667,8 +7597,8 @@ void gnutools::Assembler::ConstructJob(C
>      // march from being picked in the absence of a cpu flag.
>      Arg *A;
>      if ((A = Args.getLastArg(options::OPT_mcpu_EQ)) &&
> -      StringRef(A->getValue()).lower() == "krait")
> -        CmdArgs.push_back("-march=armv7-a");
> +        StringRef(A->getValue()).lower() == "krait")
> +      CmdArgs.push_back("-march=armv7-a");
>      else
>        Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
>      Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
> @@ -7732,8 +7662,8 @@ void gnutools::Assembler::ConstructJob(C
>
>      // Pass on -mmips16 or -mno-mips16. However, the assembler equivalent
> of
>      // -mno-mips16 is actually -no-mips16.
> -    if (Arg *A = Args.getLastArg(options::OPT_mips16,
> -                                 options::OPT_mno_mips16)) {
> +    if (Arg *A =
> +            Args.getLastArg(options::OPT_mips16,
> options::OPT_mno_mips16)) {
>        if (A->getOption().matches(options::OPT_mips16)) {
>          A->claim();
>          A->render(Args, CmdArgs);
> @@ -7779,8 +7709,7 @@ void gnutools::Assembler::ConstructJob(C
>    if (NeedsKPIC)
>      addAssemblerKPIC(Args, CmdArgs);
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    CmdArgs.push_back("-o");
>    CmdArgs.push_back(Output.getFilename());
> @@ -7908,7 +7837,8 @@ static void AddRunTimeLibs(const ToolCha
>    switch (RLT) {
>    case ToolChain::RLT_CompilerRT:
>      switch (TC.getTriple().getOS()) {
> -    default: llvm_unreachable("unsupported OS");
> +    default:
> +      llvm_unreachable("unsupported OS");
>      case llvm::Triple::Win32:
>      case llvm::Triple::Linux:
>        addClangRT(TC, Args, CmdArgs);
> @@ -8047,7 +7977,7 @@ void gnutools::Linker::ConstructJob(Comp
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!isAndroid) {
>        const char *crt1 = nullptr;
> -      if (!Args.hasArg(options::OPT_shared)){
> +      if (!Args.hasArg(options::OPT_shared)) {
>          if (Args.hasArg(options::OPT_pg))
>            crt1 = "gcrt1.o";
>          else if (IsPIE)
> @@ -8095,11 +8025,10 @@ void gnutools::Linker::ConstructJob(Comp
>    // The profile runtime also needs access to system libraries.
>    addProfileRT(getToolChain(), Args, CmdArgs);
>
> -  if (D.CCCIsCXX() &&
> -      !Args.hasArg(options::OPT_nostdlib) &&
> +  if (D.CCCIsCXX() && !Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nodefaultlibs)) {
>      bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx)
> &&
> -      !Args.hasArg(options::OPT_static);
> +                               !Args.hasArg(options::OPT_static);
>      if (OnlyLibstdcxxStatic)
>        CmdArgs.push_back("-Bstatic");
>      ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
> @@ -8180,7 +8109,6 @@ void gnutools::Linker::ConstructJob(Comp
>        llvm::make_unique<Command>(JA, *this, ToolChain.Linker.c_str(),
> CmdArgs));
>  }
>
> -
>  // NaCl ARM assembly (inline or standalone) can be written with a set of
> macros
>  // for the various SFI requirements like register masking. The assembly
> tool
>  // inserts the file containing the macros as an input into all the
> assembly
> @@ -8190,8 +8118,8 @@ void nacltools::AssemblerARM::ConstructJ
>                                             const InputInfoList &Inputs,
>                                             const ArgList &Args,
>                                             const char *LinkingOutput)
> const {
> -  const toolchains::NaCl_TC& ToolChain =
> -    static_cast<const toolchains::NaCl_TC&>(getToolChain());
> +  const toolchains::NaCl_TC &ToolChain =
> +      static_cast<const toolchains::NaCl_TC &>(getToolChain());
>    InputInfo NaClMacros(ToolChain.GetNaClArmMacrosPath(), types::TY_PP_Asm,
>                         "nacl-arm-macros.s");
>    InputInfoList NewInputs;
> @@ -8291,11 +8219,10 @@ void nacltools::Linker::ConstructJob(Com
>
>    AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
>
> -  if (D.CCCIsCXX() &&
> -      !Args.hasArg(options::OPT_nostdlib) &&
> +  if (D.CCCIsCXX() && !Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nodefaultlibs)) {
> -    bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx)
> &&
> -      !IsStatic;
> +    bool OnlyLibstdcxxStatic =
> +        Args.hasArg(options::OPT_static_libstdcxx) && !IsStatic;
>      if (OnlyLibstdcxxStatic)
>        CmdArgs.push_back("-Bstatic");
>      ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
> @@ -8312,8 +8239,7 @@ void nacltools::Linker::ConstructJob(Com
>        // NaCl's libc++ currently requires libpthread, so just always
> include it
>        // in the group for C++.
>        if (Args.hasArg(options::OPT_pthread) ||
> -          Args.hasArg(options::OPT_pthreads) ||
> -          D.CCCIsCXX()) {
> +          Args.hasArg(options::OPT_pthreads) || D.CCCIsCXX()) {
>          CmdArgs.push_back("-lpthread");
>        }
>
> @@ -8339,8 +8265,8 @@ void nacltools::Linker::ConstructJob(Com
>      }
>    }
>
> -  C.addCommand(llvm::make_unique<Command>(JA, *this,
> -                                          ToolChain.Linker.c_str(),
> CmdArgs));
> +  C.addCommand(
> +      llvm::make_unique<Command>(JA, *this, ToolChain.Linker.c_str(),
> CmdArgs));
>  }
>
>  void minix::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
> @@ -8380,10 +8306,11 @@ void minix::Linker::ConstructJob(Compila
>
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
> -
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crt1.o")));
> -
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
> -
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
> -
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crt1.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
> +    CmdArgs.push_back(
> +        Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
>    }
>
>    Args.AddAllArgs(CmdArgs, options::OPT_L);
> @@ -8410,7 +8337,7 @@ void minix::Linker::ConstructJob(Compila
>      CmdArgs.push_back("-lCompilerRT-Generic");
>      CmdArgs.push_back("-L/usr/pkg/compiler-rt/lib");
>      CmdArgs.push_back(
> -         Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
> +        Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
>    }
>
>    const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
> @@ -8491,25 +8418,24 @@ void dragonfly::Linker::ConstructJob(Com
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (!Args.hasArg(options::OPT_shared)) {
>        if (Args.hasArg(options::OPT_pg))
> -        CmdArgs.push_back(Args.MakeArgString(
> -                                getToolChain().GetFilePath("gcrt1.o")));
> +        CmdArgs.push_back(
> +            Args.MakeArgString(getToolChain().GetFilePath("gcrt1.o")));
>        else {
>          if (Args.hasArg(options::OPT_pie))
> -          CmdArgs.push_back(Args.MakeArgString(
> -                                  getToolChain().GetFilePath("Scrt1.o")));
> +          CmdArgs.push_back(
> +              Args.MakeArgString(getToolChain().GetFilePath("Scrt1.o")));
>          else
> -          CmdArgs.push_back(Args.MakeArgString(
> -                                  getToolChain().GetFilePath("crt1.o")));
> +          CmdArgs.push_back(
> +              Args.MakeArgString(getToolChain().GetFilePath("crt1.o")));
>        }
>      }
> -    CmdArgs.push_back(Args.MakeArgString(
> -                            getToolChain().GetFilePath("crti.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
>      if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie))
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbeginS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
>      else
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtbegin.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
>    }
>
>    Args.AddAllArgs(CmdArgs, options::OPT_L);
> @@ -8578,13 +8504,12 @@ void dragonfly::Linker::ConstructJob(Com
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles)) {
>      if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie))
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtendS.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
>      else
> -      CmdArgs.push_back(Args.MakeArgString(
> -                              getToolChain().GetFilePath("crtend.o")));
> -    CmdArgs.push_back(Args.MakeArgString(
> -                            getToolChain().GetFilePath("crtn.o")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
> +
> CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
>    }
>
>    addProfileRT(getToolChain(), Args, CmdArgs);
> @@ -8623,8 +8548,8 @@ void visualstudio::Linker::ConstructJob(
>
>    assert((Output.isFilename() || Output.isNothing()) && "invalid output");
>    if (Output.isFilename())
> -    CmdArgs.push_back(Args.MakeArgString(std::string("-out:") +
> -                                         Output.getFilename()));
> +    CmdArgs.push_back(
> +        Args.MakeArgString(std::string("-out:") + Output.getFilename()));
>
>    if (!Args.hasArg(options::OPT_nostdlib) &&
>        !Args.hasArg(options::OPT_nostartfiles) &&
> !C.getDriver().IsCLMode())
> @@ -8668,16 +8593,14 @@ void visualstudio::Linker::ConstructJob(
>    if (Args.hasArg(options::OPT_g_Group))
>      CmdArgs.push_back("-debug");
>
> -  bool DLL = Args.hasArg(options::OPT__SLASH_LD,
> -                         options::OPT__SLASH_LDd,
> +  bool DLL = Args.hasArg(options::OPT__SLASH_LD, options::OPT__SLASH_LDd,
>                           options::OPT_shared);
>    if (DLL) {
>      CmdArgs.push_back(Args.MakeArgString("-dll"));
>
>      SmallString<128> ImplibName(Output.getFilename());
>      llvm::sys::path::replace_extension(ImplibName, "lib");
> -    CmdArgs.push_back(Args.MakeArgString(std::string("-implib:") +
> -                                         ImplibName));
> +    CmdArgs.push_back(Args.MakeArgString(std::string("-implib:") +
> ImplibName));
>    }
>
>    if (TC.getSanitizerArgs().needsAsanRt()) {
> @@ -8685,8 +8608,7 @@ void visualstudio::Linker::ConstructJob(
>      CmdArgs.push_back(Args.MakeArgString("-incremental:no"));
>      if (Args.hasArg(options::OPT__SLASH_MD, options::OPT__SLASH_MDd)) {
>        static const char *CompilerRTComponents[] = {
> -        "asan_dynamic",
> -        "asan_dynamic_runtime_thunk",
> +          "asan_dynamic", "asan_dynamic_runtime_thunk",
>        };
>        for (const auto &Component : CompilerRTComponents)
>          CmdArgs.push_back(Args.MakeArgString(getCompilerRT(TC,
> Component)));
> @@ -8694,11 +8616,11 @@ void visualstudio::Linker::ConstructJob(
>        // to ensure proper SEH handling.
>
>  CmdArgs.push_back(Args.MakeArgString("-include:___asan_seh_interceptor"));
>      } else if (DLL) {
> -      CmdArgs.push_back(Args.MakeArgString(getCompilerRT(TC,
> "asan_dll_thunk")));
> +      CmdArgs.push_back(
> +          Args.MakeArgString(getCompilerRT(TC, "asan_dll_thunk")));
>      } else {
>        static const char *CompilerRTComponents[] = {
> -        "asan",
> -        "asan_cxx",
> +          "asan", "asan_cxx",
>        };
>        for (const auto &Component : CompilerRTComponents)
>          CmdArgs.push_back(Args.MakeArgString(getCompilerRT(TC,
> Component)));
> @@ -8771,7 +8693,7 @@ std::unique_ptr<Command> visualstudio::C
>      const char *LinkingOutput) const {
>    ArgStringList CmdArgs;
>    CmdArgs.push_back("/nologo");
> -  CmdArgs.push_back("/c"); // Compile only.
> +  CmdArgs.push_back("/c");  // Compile only.
>    CmdArgs.push_back("/W0"); // No warnings.
>
>    // The goal is to be able to invoke this tool correctly based on
> @@ -8829,7 +8751,6 @@ std::unique_ptr<Command> visualstudio::C
>                                 options::OPT__SLASH_MT,
> options::OPT__SLASH_MTd))
>      A->render(Args, CmdArgs);
>
> -
>    // Input filename.
>    assert(Inputs.size() == 1);
>    const InputInfo &II = Inputs[0];
> @@ -8842,8 +8763,8 @@ std::unique_ptr<Command> visualstudio::C
>
>    // Output filename.
>    assert(Output.getType() == types::TY_Object);
> -  const char *Fo = Args.MakeArgString(std::string("/Fo") +
> -                                      Output.getFilename());
> +  const char *Fo =
> +      Args.MakeArgString(std::string("/Fo") + Output.getFilename());
>    CmdArgs.push_back(Fo);
>
>    const Driver &D = getToolChain().getDriver();
> @@ -8880,8 +8801,7 @@ void XCore::Assembler::ConstructJob(Comp
>                     false))
>      CmdArgs.push_back("-fverbose-asm");
>
> -  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> -                       options::OPT_Xassembler);
> +  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
> options::OPT_Xassembler);
>
>    for (const auto &II : Inputs)
>      CmdArgs.push_back(II.getFilename());
> @@ -8928,7 +8848,8 @@ void CrossWindows::Assembler::ConstructJ
>    const char *Exec;
>
>    switch (TC.getArch()) {
> -  default: llvm_unreachable("unsupported architecture");
> +  default:
> +    llvm_unreachable("unsupported architecture");
>    case llvm::Triple::arm:
>    case llvm::Triple::thumb:
>      break;
> @@ -8987,7 +8908,8 @@ void CrossWindows::Linker::ConstructJob(
>
>    CmdArgs.push_back("-m");
>    switch (TC.getArch()) {
> -  default: llvm_unreachable("unsupported architecture");
> +  default:
> +    llvm_unreachable("unsupported architecture");
>    case llvm::Triple::arm:
>    case llvm::Triple::thumb:
>      // FIXME: this is incorrect for WinCE
> @@ -9004,7 +8926,8 @@ void CrossWindows::Linker::ConstructJob(
>
>    if (Args.hasArg(options::OPT_shared)) {
>      switch (T.getArch()) {
> -    default: llvm_unreachable("unsupported architecture");
> +    default:
> +      llvm_unreachable("unsupported architecture");
>      case llvm::Triple::arm:
>      case llvm::Triple::thumb:
>      case llvm::Triple::x86_64:
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150626/ca681ec7/attachment.html>


More information about the cfe-commits mailing list