static void AddArgument(const string &ArgName, Option *Opt) {
if (getOpts().find(ArgName) != getOpts().end()) {
cerr << "CommandLine Error: Argument '" << ArgName
- << "' specified more than once!\n";
+ << "' defined more than once!\n";
} else {
// Add argument to the argument map!
getOpts().insert(std::make_pair(ArgName, Opt));
unsigned i;
for (i = 0; i < ValueMap.size(); ++i)
if (ValueMap[i].first == Arg) break;
- if (i == ValueMap.size())
- return error(": unrecognized alternative '"+Arg+"'!");
+
+ if (i == ValueMap.size()) {
+ string Alternatives;
+ for (i = 0; i < ValueMap.size(); ++i) {
+ if (i) Alternatives += ", ";
+ Alternatives += ValueMap[i].first;
+ }
+
+ return error(": unrecognized alternative '" + Arg +
+ "'! Alternatives are: " + Alternatives);
+ }
Value = ValueMap[i].second.first;
return false;
}
static void AddArgument(const string &ArgName, Option *Opt) {
if (getOpts().find(ArgName) != getOpts().end()) {
cerr << "CommandLine Error: Argument '" << ArgName
- << "' specified more than once!\n";
+ << "' defined more than once!\n";
} else {
// Add argument to the argument map!
getOpts().insert(std::make_pair(ArgName, Opt));
unsigned i;
for (i = 0; i < ValueMap.size(); ++i)
if (ValueMap[i].first == Arg) break;
- if (i == ValueMap.size())
- return error(": unrecognized alternative '"+Arg+"'!");
+
+ if (i == ValueMap.size()) {
+ string Alternatives;
+ for (i = 0; i < ValueMap.size(); ++i) {
+ if (i) Alternatives += ", ";
+ Alternatives += ValueMap[i].first;
+ }
+
+ return error(": unrecognized alternative '" + Arg +
+ "'! Alternatives are: " + Alternatives);
+ }
Value = ValueMap[i].second.first;
return false;
}