aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-12 05:46:32 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-12 05:46:32 +0000
commit644eade617a4e2e665455accf18c455e8d025699 (patch)
tree2beaa23ed5e17966b2597e9afa93578ee89c99b0 /lib/Driver
parent008dd35220d44b52051ac1b9b90f69bd321ca4c5 (diff)
Driver: Add Option flags.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66774 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver')
-rw-r--r--lib/Driver/OptTable.cpp7
-rw-r--r--lib/Driver/Option.cpp1
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Driver/OptTable.cpp b/lib/Driver/OptTable.cpp
index 5caaace3ad..00a949f086 100644
--- a/lib/Driver/OptTable.cpp
+++ b/lib/Driver/OptTable.cpp
@@ -46,6 +46,7 @@ static Info &getInfo(unsigned id) {
}
OptTable::OptTable() : Options(new Option*[numOptions]) {
+ memset(Options, 0, sizeof(*Options) * numOptions);
}
OptTable::~OptTable() {
@@ -108,11 +109,11 @@ Option *OptTable::constructOption(options::ID id) const {
for (const char *s = info.Flags; *s; ++s) {
switch (*s) {
default: assert(0 && "Invalid option flag.");
- case 'l': Opt->setLinkerInput(true); break;
- case 'i': Opt->setNoOptAsInput(true); break;
case 'J': Opt->setForceJoinedRender(true); break;
case 'S': Opt->setForceSeparateRender(true); break;
- case 'U': Opt->setUnsupported(true); break;
+ case 'i': Opt->setNoOptAsInput(true); break;
+ case 'l': Opt->setLinkerInput(true); break;
+ case 'u': Opt->setUnsupported(true); break;
}
}
diff --git a/lib/Driver/Option.cpp b/lib/Driver/Option.cpp
index 7a53009455..083eb8e9da 100644
--- a/lib/Driver/Option.cpp
+++ b/lib/Driver/Option.cpp
@@ -190,6 +190,7 @@ MultiArgOption::MultiArgOption(options::ID ID, const char *Name,
const OptionGroup *Group, const Option *Alias,
unsigned _NumArgs)
: Option(Option::MultiArgClass, ID, Name, Group, Alias), NumArgs(_NumArgs) {
+ assert(NumArgs > 1 && "Invalid MultiArgOption!");
}
Arg *MultiArgOption::accept(const ArgList &Args, unsigned &Index) const {