diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-25 06:08:46 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-25 06:08:46 +0000 |
commit | 0e378b1e26f9dd899cb5ee66a8509182b0bf7e2a (patch) | |
tree | 22ed609aad80ee3fc3c0ff95a1f3856f40576cd8 | |
parent | 24e7eade19c023132fe73eb85dedcd5b70ecf61d (diff) | |
download | bcm5719-llvm-0e378b1e26f9dd899cb5ee66a8509182b0bf7e2a.tar.gz bcm5719-llvm-0e378b1e26f9dd899cb5ee66a8509182b0bf7e2a.zip |
Driver: Replace Option::ForwardToGCC by Option::DriverOption (which
matches the flag in Options.def).
llvm-svn: 67679
-rw-r--r-- | clang/include/clang/Driver/Option.h | 10 | ||||
-rw-r--r-- | clang/lib/Driver/OptTable.cpp | 7 | ||||
-rw-r--r-- | clang/lib/Driver/Option.cpp | 2 |
3 files changed, 8 insertions, 11 deletions
diff --git a/clang/include/clang/Driver/Option.h b/clang/include/clang/Driver/Option.h index 79b512e607b..c7b6d0e08c1 100644 --- a/clang/include/clang/Driver/Option.h +++ b/clang/include/clang/Driver/Option.h @@ -82,8 +82,8 @@ namespace driver { /// Always render this option joined with its value. bool ForceJoinedRender : 1; - /// Forward to generic GCC tools. - bool ForwardToGCC : 1; + /// This option is only for consumed by the driver. + bool DriverOption : 1; protected: Option(OptionClass Kind, options::ID ID, const char *Name, @@ -112,8 +112,10 @@ namespace driver { bool hasForceJoinedRender() const { return ForceJoinedRender; } void setForceJoinedRender(bool Value) { ForceJoinedRender = Value; } - bool hasForwardToGCC() const { return ForwardToGCC; } - void setForwardToGCC(bool Value) { ForwardToGCC = Value; } + bool isDriverOption() const { return DriverOption; } + void setDriverOption(bool Value) { DriverOption = Value; } + + bool hasForwardToGCC() const { return !DriverOption && !LinkerInput; } /// getUnaliasedOption - Return the final option this option /// aliases (itself, if the option has no alias). diff --git a/clang/lib/Driver/OptTable.cpp b/clang/lib/Driver/OptTable.cpp index baaa886fec1..2e449995809 100644 --- a/clang/lib/Driver/OptTable.cpp +++ b/clang/lib/Driver/OptTable.cpp @@ -185,18 +185,13 @@ Option *OptTable::constructOption(options::ID id) const { case 'S': assert(info.Kind == Option::JoinedClass && "Invalid option."); Opt->setForceSeparateRender(true); break; - case 'd': Opt->setForwardToGCC(false); break; + case 'd': Opt->setDriverOption(true); break; case 'i': Opt->setNoOptAsInput(true); break; case 'l': Opt->setLinkerInput(true); break; case 'u': Opt->setUnsupported(true); break; } } - // Linker inputs shouldn't be forwarded to GCC as arguments (they - // will, however, be forwarded as inputs). - if (Opt->isLinkerInput()) - Opt->setForwardToGCC(false); - return Opt; } diff --git a/clang/lib/Driver/Option.cpp b/clang/lib/Driver/Option.cpp index 6ea02aaf40e..624854815d6 100644 --- a/clang/lib/Driver/Option.cpp +++ b/clang/lib/Driver/Option.cpp @@ -21,7 +21,7 @@ Option::Option(OptionClass _Kind, options::ID _ID, const char *_Name, : Kind(_Kind), ID(_ID), Name(_Name), Group(_Group), Alias(_Alias), Unsupported(false), LinkerInput(false), NoOptAsInput(false), ForceSeparateRender(false), ForceJoinedRender(false), - ForwardToGCC(true) + DriverOption(false) { // Multi-level aliases are not supported, and alias options cannot |