Don't call `dropAllReferences()` from `MDNode::~MDNode()`, call it
directly from `~MDNodeFwdDecl()` and `~GenericMDNode()`.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223904
91177308-0d34-0410-b5e6-
96231b3b80d8
}
MDNode(LLVMContext &Context, unsigned ID, ArrayRef<Metadata *> MDs);
}
MDNode(LLVMContext &Context, unsigned ID, ArrayRef<Metadata *> MDs);
- ~MDNode() { dropAllReferences(); }
void dropAllReferences();
void storeDistinctInContext();
void dropAllReferences();
void storeDistinctInContext();
MDNodeFwdDecl(LLVMContext &C, ArrayRef<Metadata *> Vals)
: MDNode(C, MDNodeFwdDeclKind, Vals) {}
MDNodeFwdDecl(LLVMContext &C, ArrayRef<Metadata *> Vals)
: MDNode(C, MDNodeFwdDeclKind, Vals) {}
+ ~MDNodeFwdDecl() { dropAllReferences(); }
public:
static bool classof(const Metadata *MD) {
public:
static bool classof(const Metadata *MD) {
pImpl->NonUniquedMDNodes.erase(this);
else
pImpl->MDNodeSet.erase(this);
pImpl->NonUniquedMDNodes.erase(this);
else
pImpl->MDNodeSet.erase(this);
}
void GenericMDNode::resolve() {
}
void GenericMDNode::resolve() {