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
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 @@
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 @@
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);