[IR] Manage TheNoneToken with a std::unique_ptr

Hopefully, this will make the sanitizer build bots happy.

llvm-svn: 253248
This commit is contained in:
David Majnemer 2015-11-16 20:55:57 +00:00
parent 9c432ae111
commit 2dd41c5d42
3 changed files with 3 additions and 4 deletions

View File

@ -1161,8 +1161,8 @@ Constant *ConstantVector::getSplat(unsigned NumElts, Constant *V) {
ConstantTokenNone *ConstantTokenNone::get(LLVMContext &Context) {
LLVMContextImpl *pImpl = Context.pImpl;
if (!pImpl->TheNoneToken)
pImpl->TheNoneToken = new ConstantTokenNone(Context);
return pImpl->TheNoneToken;
pImpl->TheNoneToken.reset(new ConstantTokenNone(Context));
return pImpl->TheNoneToken.get();
}
/// Remove the constant from the constant table.

View File

@ -21,7 +21,6 @@ using namespace llvm;
LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
: TheTrueVal(nullptr), TheFalseVal(nullptr),
TheNoneToken(nullptr),
VoidTy(C, Type::VoidTyID),
LabelTy(C, Type::LabelTyID),
HalfTy(C, Type::HalfTyID),

View File

@ -924,7 +924,7 @@ public:
ConstantInt *TheTrueVal;
ConstantInt *TheFalseVal;
ConstantTokenNone *TheNoneToken;
std::unique_ptr<ConstantTokenNone> TheNoneToken;
// Basic type instances.
Type VoidTy, LabelTy, HalfTy, FloatTy, DoubleTy, MetadataTy, TokenTy;