[llvm-commits] CVS: llvm/include/llvm/Support/CommandLine.h

Dale Johannesen dalej at apple.com
Tue May 22 10:15:25 PDT 2007



Changes in directory llvm/include/llvm/Support:

CommandLine.h updated: 1.64 -> 1.65
---
Log message:

Make tail merging the default, except on powerPC.  There was no prior art
for a target-dependent default with a command-line override; this way
should be generally usable.


---
Diffs of the changes:  (+22 -0)

 CommandLine.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+)


Index: llvm/include/llvm/Support/CommandLine.h
diff -u llvm/include/llvm/Support/CommandLine.h:1.64 llvm/include/llvm/Support/CommandLine.h:1.65
--- llvm/include/llvm/Support/CommandLine.h:1.64	Wed Apr 11 19:36:29 2007
+++ llvm/include/llvm/Support/CommandLine.h	Tue May 22 12:14:46 2007
@@ -544,6 +544,28 @@
 
 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<bool>);
 
+//--------------------------------------------------
+// parser<boolOrDefault>
+enum boolOrDefault { BOU_UNSET, BOU_TRUE, BOU_FALSE };
+template<>
+class parser<boolOrDefault> : public basic_parser<boolOrDefault> {
+public:
+  // parse - Return true on error.
+  bool parse(Option &O, const char *ArgName, const std::string &Arg, 
+             boolOrDefault &Val);
+
+  enum ValueExpected getValueExpectedFlagDefault() const {
+    return ValueOptional;
+  }
+
+  // getValueName - Do not print =<value> at all.
+  virtual const char *getValueName() const { return 0; }
+  
+  // An out-of-line virtual method to provide a 'home' for this class.
+  virtual void anchor();
+};
+
+EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<boolOrDefault>);
 
 //--------------------------------------------------
 // parser<int>






More information about the llvm-commits mailing list