diff options
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 0471f2d58f9..2f7c464bbfa 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -787,9 +787,12 @@ void darwin::Preprocess::ConstructJob(Compilation &C, const JobAction &JA, assert(Output.isPipe() && "Unexpected CC1 output."); } - AddCPPOptionsArgs(Args, CmdArgs, Inputs, OutputArgs); - - Args.AddAllArgs(CmdArgs, options::OPT_d_Group); + if (Args.hasArg(options::OPT_E)) { + AddCPPOptionsArgs(Args, CmdArgs, Inputs, OutputArgs); + } else { + AddCPPOptionsArgs(Args, CmdArgs, Inputs, ArgStringList()); + CmdArgs.append(OutputArgs.begin(), OutputArgs.end()); + } const char *CC1Name = getCC1Name(Inputs[0].getType()); const char *Exec = |