diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index 1403b7543b5..778ddce3901 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -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 explicit opt(const M0t &M0) @@ -1368,6 +1368,10 @@ class list : public Option, public list_storage { 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 explicit list(const M0t &M0) @@ -1592,6 +1592,10 @@ class bits : public Option, public bits_storage { 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 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 explicit alias(const M0t &M0)