aboutsummaryrefslogtreecommitdiffstats
path: root/lib/IR
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-01-27 21:38:03 +0000
committerBill Wendling <isanbard@gmail.com>2013-01-27 21:38:03 +0000
commit1cc0d5a4311c2d4bc01051561549390307b789a1 (patch)
tree55b131d5167b6a890136d7e81dbdd8e204304424 /lib/IR
parent893eac1648151ca42e3d0f9e9da092d817c9f8ba (diff)
downloadexternal_llvm-1cc0d5a4311c2d4bc01051561549390307b789a1.zip
external_llvm-1cc0d5a4311c2d4bc01051561549390307b789a1.tar.gz
external_llvm-1cc0d5a4311c2d4bc01051561549390307b789a1.tar.bz2
Privitize some the copy c'tor and assignment operator of uniquified objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR')
-rw-r--r--lib/IR/AttributeImpl.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/IR/AttributeImpl.h b/lib/IR/AttributeImpl.h
index c565364..b4fb0c0 100644
--- a/lib/IR/AttributeImpl.h
+++ b/lib/IR/AttributeImpl.h
@@ -32,6 +32,10 @@ class AttributeImpl : public FoldingSetNode {
LLVMContext &Context;
Constant *Data;
SmallVector<Constant*, 0> Vals;
+
+ // AttributesImpl is uniqued, these should not be publicly available.
+ void operator=(const AttributeImpl &) LLVM_DELETED_FUNCTION;
+ AttributeImpl(const AttributeImpl &) LLVM_DELETED_FUNCTION;
public:
explicit AttributeImpl(LLVMContext &C, uint64_t data);
explicit AttributeImpl(LLVMContext &C, Attribute::AttrKind data);
@@ -78,6 +82,10 @@ class AttributeSetNode : public FoldingSetNode {
AttributeSetNode(ArrayRef<Attribute> Attrs)
: AttrList(Attrs.begin(), Attrs.end()) {}
+
+ // AttributesSetNode is uniqued, these should not be publicly available.
+ void operator=(const AttributeSetNode &) LLVM_DELETED_FUNCTION;
+ AttributeSetNode(const AttributeSetNode &) LLVM_DELETED_FUNCTION;
public:
static AttributeSetNode *get(LLVMContext &C, ArrayRef<Attribute> Attrs);