aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/CommandLine.html17
-rw-r--r--include/llvm/Support/CommandLine.h6
-rw-r--r--lib/Support/CommandLine.cpp21
3 files changed, 2 insertions, 42 deletions
diff --git a/docs/CommandLine.html b/docs/CommandLine.html
index 013ff27..74cf389 100644
--- a/docs/CommandLine.html
+++ b/docs/CommandLine.html
@@ -1447,17 +1447,6 @@ unrecognized option strings to it as values instead of signaling an
error. As with <b><tt>cl::CommaSeparated</tt></b></a>, this modifier
only makes sense with a <a href="#cl::list">cl::list</a> option.</li>
-<li><a name="cl::AllowInverse">The <b><tt>cl::AllowInverse</tt></b></a>
-modifier can be used on options that have the form <tt>-fopt</tt> to
-automatically create a corresponding
-<tt>-fno-opt</tt> option. The <tt>f</tt> can be any single
-character, and the <tt>opt</tt> can be any one or more characters.
-The value of the created option is the logical complement of the value
-that would have been used if the base form of the option was used.
-This modifier only makes sense with an option that uses
-a <a href="#boolparser">bool parser</a>.</li>
-
-
</ul>
<p>So far, these are the only three miscellaneous option modifiers.</p>
@@ -1755,11 +1744,7 @@ for any data type.</li>
<li><a name="boolparser">The <b><tt>parser&lt;bool&gt;</tt> specialization</b></a>
is used to convert boolean strings to a boolean value. Currently accepted
strings are "<tt>true</tt>", "<tt>TRUE</tt>", "<tt>True</tt>", "<tt>1</tt>",
-"<tt>false</tt>", "<tt>FALSE</tt>", "<tt>False</tt>", and "<tt>0</tt>". The
-<b><tt>cl::AllowInverse</tt></b> modifier can be used on an option of the form
-<tt>-fopt</tt> that uses the <tt>parser&lt;bool&gt;</tt> specialization
-to create a corresponding option with the form <tt>-fno-opt</tt>. See
-<a href="#cl::AllowInverse"><tt>cl::AllowInverse</tt></a> for details.</li>
+"<tt>false</tt>", "<tt>FALSE</tt>", "<tt>False</tt>", and "<tt>0</tt>".</li>
<li><a name="boolOrDefaultparser">The <b><tt>parser&lt;boolOrDefault&gt;</tt>
specialization</b></a> is used for cases where the value is boolean,
diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h
index 6b05e60..1b62558 100644
--- a/include/llvm/Support/CommandLine.h
+++ b/include/llvm/Support/CommandLine.h
@@ -127,8 +127,7 @@ enum MiscFlags { // Miscellaneous flags to adjust argument
CommaSeparated = 0x200, // Should this cl::list split between commas?
PositionalEatsArgs = 0x400, // Should this positional cl::list eat -args?
Sink = 0x800, // Should this cl::list eat all unknown options?
- AllowInverse = 0x1000, // Can this option take a -Xno- form?
- MiscMask = 0x1E00 // Union of the above flags.
+ MiscMask = 0xE00 // Union of the above flags.
};
@@ -538,17 +537,14 @@ struct basic_parser : public basic_parser_impl {
//
template<>
class parser<bool> : public basic_parser<bool> {
- bool IsInvertible; // Should we synthesize a -xno- style option?
const char *ArgStr;
public:
- void getExtraOptionNames(std::vector<const char*> &OptionNames);
// parse - Return true on error.
bool parse(Option &O, const char *ArgName, const std::string &Arg, bool &Val);
template <class Opt>
void initialize(Opt &O) {
- IsInvertible = (O.getMiscFlags() & llvm::cl::AllowInverse);
ArgStr = O.ArgStr;
}
diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp
index 710b210..e4f65ba 100644
--- a/lib/Support/CommandLine.cpp
+++ b/lib/Support/CommandLine.cpp
@@ -872,30 +872,9 @@ bool parser<bool>::parse(Option &O, const char *ArgName,
return O.error(": '" + Arg +
"' is invalid value for boolean argument! Try 0 or 1");
}
- if (IsInvertible && strncmp(ArgName+1, "no-", 3) == 0)
- Value = !Value;
return false;
}
-void parser<bool>::getExtraOptionNames(std::vector<const char*> &OptionNames) {
- if (!IsInvertible)
- return;
-
- char *s = new char [strlen(ArgStr) + 3 + 1];
- s[0] = ArgStr[0];
- if (strncmp(ArgStr+1, "no-", 3) == 0)
- strcpy(&s[1], &ArgStr[4]);
- else {
- s[1] = 'n';
- s[2] = 'o';
- s[3] = '-';
- strcpy(&s[4], ArgStr+1);
- }
- OptionNames.push_back(s);
-}
-
-
-
// parser<boolOrDefault> implementation
//
bool parser<boolOrDefault>::parse(Option &O, const char *ArgName,