summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-08-13 04:44:20 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-08-13 04:44:20 +0000
commit568b7500febfd2da88edf36e9aa0c89a9a6be1e8 (patch)
treed92443e75720898773ab9d7469a304a9821263c7 /clang/lib/Driver
parent143a33758c3cab69dc19dbc2cf7cb6c7cc422f4c (diff)
downloadbcm5719-llvm-568b7500febfd2da88edf36e9aa0c89a9a6be1e8.tar.gz
bcm5719-llvm-568b7500febfd2da88edf36e9aa0c89a9a6be1e8.zip
Driver/OptParser: Add a NoForward flag to prevent forwarding certain options to
GCC. - Mark -Xclang and -mlinker-version= with it for now, although I am sure there are more. llvm-svn: 111005
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/OptTable.cpp2
-rw-r--r--clang/lib/Driver/Option.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/OptTable.cpp b/clang/lib/Driver/OptTable.cpp
index 39530f211d8..3c363142d7f 100644
--- a/clang/lib/Driver/OptTable.cpp
+++ b/clang/lib/Driver/OptTable.cpp
@@ -164,6 +164,8 @@ Option *OptTable::CreateOption(unsigned id) const {
Opt->setLinkerInput(true);
if (info.Flags & NoArgumentUnused)
Opt->setNoArgumentUnused(true);
+ if (info.Flags & NoForward)
+ Opt->setNoForward(true);
if (info.Flags & RenderAsInput)
Opt->setNoOptAsInput(true);
if (info.Flags & RenderJoined) {
diff --git a/clang/lib/Driver/Option.cpp b/clang/lib/Driver/Option.cpp
index dd48af8018a..5396250dfae 100644
--- a/clang/lib/Driver/Option.cpp
+++ b/clang/lib/Driver/Option.cpp
@@ -20,7 +20,7 @@ Option::Option(OptionClass _Kind, OptSpecifier _ID, const char *_Name,
const OptionGroup *_Group, const Option *_Alias)
: Kind(_Kind), ID(_ID.getID()), Name(_Name), Group(_Group), Alias(_Alias),
Unsupported(false), LinkerInput(false), NoOptAsInput(false),
- DriverOption(false), NoArgumentUnused(false) {
+ DriverOption(false), NoArgumentUnused(false), NoForward(false) {
// Multi-level aliases are not supported, and alias options cannot
// have groups. This just simplifies option tracking, it is not an
OpenPOWER on IntegriCloud