[llvm] r226769 - Making deleted copy constructors and operators to be private for better diagnostics when deleted is not available.

Chris Bieneman beanz at apple.com
Wed Jan 21 18:51:33 PST 2015


Author: cbieneman
Date: Wed Jan 21 20:51:33 2015
New Revision: 226769

URL: http://llvm.org/viewvc/llvm-project?rev=226769&view=rev
Log:
Making deleted copy constructors and operators to be private for better diagnostics when deleted is not available.

Modified:
    llvm/trunk/include/llvm/Support/CommandLine.h

Modified: llvm/trunk/include/llvm/Support/CommandLine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/CommandLine.h?rev=226769&r1=226768&r2=226769&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/CommandLine.h (original)
+++ llvm/trunk/include/llvm/Support/CommandLine.h Wed Jan 21 20:51:33 2015
@@ -1169,6 +1169,10 @@ class opt : public Option,
     Parser.initialize(*this);
   }
 
+  // Command line options should not be copyable
+  opt(const opt &) LLVM_DELETED_FUNCTION;
+  opt &operator=(const opt &) LLVM_DELETED_FUNCTION;
+
 public:
   // setInitialValue - Used by the cl::init modifier...
   void setInitialValue(const DataType &V) { this->setValue(V, true); }
@@ -1180,10 +1184,6 @@ public:
     return this->getValue();
   }
 
-  // Command line options should not be copyable
-  opt(const opt &) LLVM_DELETED_FUNCTION;
-  opt &operator=(const opt &) LLVM_DELETED_FUNCTION;
-
   // One option...
   template <class M0t>
   explicit opt(const M0t &M0)
@@ -1368,6 +1368,10 @@ class list : public Option, public list_
     Parser.initialize(*this);
   }
 
+  // Command line options should not be copyable
+  list(const list &) LLVM_DELETED_FUNCTION;
+  list &operator=(const list &) LLVM_DELETED_FUNCTION;
+
 public:
   ParserClass &getParser() { return Parser; }
 
@@ -1378,10 +1382,6 @@ public:
 
   void setNumAdditionalVals(unsigned n) { Option::setNumAdditionalVals(n); }
 
-  // Command line options should not be copyable
-  list(const list &) LLVM_DELETED_FUNCTION;
-  list &operator=(const list &) LLVM_DELETED_FUNCTION;
-
   // One option...
   template <class M0t>
   explicit list(const M0t &M0)
@@ -1592,6 +1592,10 @@ class bits : public Option, public bits_
     Parser.initialize(*this);
   }
 
+  // Command line options should not be copyable
+  bits(const bits &) LLVM_DELETED_FUNCTION;
+  bits &operator=(const bits &) LLVM_DELETED_FUNCTION;
+
 public:
   ParserClass &getParser() { return Parser; }
 
@@ -1600,10 +1604,6 @@ public:
     return Positions[optnum];
   }
 
-  // Command line options should not be copyable
-  bits(const bits &) LLVM_DELETED_FUNCTION;
-  bits &operator=(const bits &) LLVM_DELETED_FUNCTION;
-
   // One option...
   template <class M0t>
   explicit bits(const M0t &M0)
@@ -1730,6 +1730,10 @@ class alias : public Option {
     addArgument();
   }
 
+  // Command line options should not be copyable
+  alias(const alias &) LLVM_DELETED_FUNCTION;
+  alias &operator=(const alias &) LLVM_DELETED_FUNCTION;
+
 public:
   void setAliasFor(Option &O) {
     if (AliasFor)
@@ -1737,10 +1741,6 @@ public:
     AliasFor = &O;
   }
 
-  // Command line options should not be copyable
-  alias(const alias &) LLVM_DELETED_FUNCTION;
-  alias &operator=(const alias &) LLVM_DELETED_FUNCTION;
-
   // One option...
   template <class M0t>
   explicit alias(const M0t &M0)





More information about the llvm-commits mailing list