tycho added a comment. OK, those two problems were actually easy enough to fix.
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 2f98cf9e04..93e974842f 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -3241,8 +3241,8 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, } if (FinalPhase != phases::Preprocess) { if (Arg *A = Args.getLastArg(options::OPT__SLASH_MP)) { + if (!StringRef(A->getValue()).getAsInteger(10, C.CoresToUse)) C.CoresToUse = llvm::hardware_concurrency(); - StringRef(A->getValue()).getAsInteger(10, C.CoresToUse); } } And: diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 93e974842f..c1e8e798d4 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -3239,7 +3239,7 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, Args.eraseArg(options::OPT__SLASH_Yu); YcArg = YuArg = nullptr; } - if (FinalPhase != phases::Preprocess) { + if (!YcArg && FinalPhase != phases::Preprocess) { if (Arg *A = Args.getLastArg(options::OPT__SLASH_MP)) { if (!StringRef(A->getValue()).getAsInteger(10, C.CoresToUse)) C.CoresToUse = llvm::hardware_concurrency(); The result is a thing of beauty: F9989375: Taskmgr_GE0Zo74CYl.png <https://reviews.llvm.org/F9989375> Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D52193/new/ https://reviews.llvm.org/D52193 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits