Index: lib/Driver/Tools.cpp =================================================================== --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -5285,7 +5285,20 @@ // Forward -Xclang arguments to -cc1, and -mllvm arguments to the LLVM option // parser. - Args.AddAllArgValues(CmdArgs, options::OPT_Xclang); + if (C.getDriver().isSaveTempsEnabled() && + !isa(JA)) { + //Args.AddAllArgValues(CmdArgs, options::OPT_Xclang); + for (auto Arg : Args.filtered(options::OPT_Xclang)) { + Arg->claim(); + + if (StringRef(Arg->getValue()) != "-finclude-default-header") + CmdArgs.push_back(Arg->getValue()); + } + } + else { + Args.AddAllArgValues(CmdArgs, options::OPT_Xclang); + } + for (const Arg *A : Args.filtered(options::OPT_mllvm)) { A->claim();