diff options
| author | Reid Kleckner <reid@kleckner.net> | 2013-06-19 15:09:06 +0000 |
|---|---|---|
| committer | Reid Kleckner <reid@kleckner.net> | 2013-06-19 15:09:06 +0000 |
| commit | 3793d5ed30613b97bf7735c21d84d440cbb00133 (patch) | |
| tree | 96680c102296dec9b86aceb0ad3d64083c113bb3 /clang/lib | |
| parent | 4da7f88d2c549c91d07112735464d0d7c49edaa0 (diff) | |
| download | bcm5719-llvm-3793d5ed30613b97bf7735c21d84d440cbb00133.tar.gz bcm5719-llvm-3793d5ed30613b97bf7735c21d84d440cbb00133.zip | |
[Driver] Don't forward source file input args to gcc
gcc's inputs are already added by the InputInfoList passed to
Action::ConstructJob.
Fixes a regression from r183989. This was manifesting when targetting
mingw as an extra input argument to gcc when assembling. It presumably
affects other situations where clang calls gcc.
Prior to r183989, forwardToGCC() was returning false because the INPUT
option defined in OptParser.td had the DriverOption flag set on it.
LLVM's Option library does not set this flag for INPUT.
Reviewers: espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D999
llvm-svn: 184308
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 7f22d6ff091..f88c2068408 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -225,7 +225,10 @@ static void addProfileRT(const ToolChain &TC, const ArgList &Args, } static bool forwardToGCC(const Option &O) { - return !O.hasFlag(options::NoForward) && + // Don't forward inputs from the original command line. They are added from + // InputInfoList. + return !O.getKind() == Option::InputClass && + !O.hasFlag(options::NoForward) && !O.hasFlag(options::DriverOption) && !O.hasFlag(options::LinkerInput); } |

