Fix asan warning (NFC)
authorXinliang David Li <davidxl@google.com>
Tue, 10 Nov 2015 17:11:33 +0000 (17:11 +0000)
committerXinliang David Li <davidxl@google.com>
Tue, 10 Nov 2015 17:11:33 +0000 (17:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252617 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ProfileData/InstrProf.cpp

index 22c04fbf58e15cac7be7ec2895ce5b2714bef358..d74c51b2bbc945cb48d420a9f74a982cd678b488 100644 (file)
@@ -247,8 +247,9 @@ void ValueProfData::deserializeTo(InstrProfRecord &Record,
 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();