[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