git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252617
91177308-0d34-0410-b5e6-
96231b3b80d8
std::unique_ptr<ValueProfData>
ValueProfData::serializeFrom(const InstrProfRecord &Record) {
uint32_t TotalSize = getSize(Record);
std::unique_ptr<ValueProfData>
ValueProfData::serializeFrom(const InstrProfRecord &Record) {
uint32_t TotalSize = getSize(Record);
- std::unique_ptr<ValueProfData> VPD(
- reinterpret_cast<ValueProfData *>(new char[TotalSize]));
+ void *RawMem = ::operator new(TotalSize);
+ ValueProfData *VPDMem = new (RawMem) ValueProfData();
+ std::unique_ptr<ValueProfData> VPD(VPDMem);
VPD->TotalSize = TotalSize;
VPD->NumValueKinds = Record.getNumValueKinds();
VPD->TotalSize = TotalSize;
VPD->NumValueKinds = Record.getNumValueKinds();