Remove some trivial copy ctors so the classes become trivially copyable and get the...
[oota-llvm.git] / include / llvm / Support / CommandLine.h
index 65b3497a69c41ddbf321816badae4e435aa06f92..40c4300016742beaf2d54a4808eb827981459d39 100644 (file)
@@ -40,7 +40,7 @@ namespace cl {
 //===----------------------------------------------------------------------===//
 // ParseCommandLineOptions - Command line option processing entry point.
 //
-void ParseCommandLineOptions(int argc, char **argv,
+void ParseCommandLineOptions(int argc, const char * const *argv,
                              const char *Overview = 0,
                              bool ReadResponseFiles = false);
 
@@ -164,7 +164,7 @@ class Option {
 
   int NumOccurrences;     // The number of times specified
   // Occurrences, HiddenFlag, and Formatting are all enum types but to avoid
-  // with signed enums in bitfields in MSVC we'll store them as unsigned
+  // problems with signed enums in bitfields.
   unsigned Occurrences : 3; // enum NumOccurrencesFlag
   // not using the enum type for 'Value' because zero is an implementation
   // detail representing the non-value
@@ -217,9 +217,9 @@ public:
   void setMiscFlag(enum MiscFlags M) { Misc |= M; }
   void setPosition(unsigned pos) { Position = pos; }
 protected:
-  explicit Option(enum NumOccurrencesFlag Occurrences, 
+  explicit Option(enum NumOccurrencesFlag OccurrencesFlag
                   enum OptionHidden Hidden)
-    : NumOccurrences(0), Occurrences(Occurrences), HiddenFlag(Hidden), 
+    : NumOccurrences(0), Occurrences(OccurrencesFlag), HiddenFlag(Hidden), 
       Formatting(NormalFormatting), Position(0),
       AdditionalVals(0), NextRegistered(0),
       ArgStr(""), HelpStr(""), ValueStr("") {
@@ -337,7 +337,7 @@ struct OptionValueBase : public GenericOptionValue {
 
   bool hasValue() const { return false; }
 
-  const DataType &getValue() const { assert(false && "no default value"); }
+  const DataType &getValue() const { llvm_unreachable("no default value"); }
 
   // Some options may take their value from a different data type.
   template<class DT>