[compiler-rt] r221769 - delete => delete[] for arrays.

David Blaikie dblaikie at gmail.com
Wed Nov 12 14:40:54 PST 2014


On Wed, Nov 12, 2014 at 2:18 PM, Richard Trieu <rtrieu at google.com> wrote:

> On Wed, Nov 12, 2014 at 10:58 AM, David Blaikie <dblaikie at gmail.com>
> wrote:
>
>>
>>
>> On Tue, Nov 11, 2014 at 8:19 PM, Richard Trieu <rtrieu at google.com> wrote:
>>
>>> Author: rtrieu
>>> Date: Tue Nov 11 22:19:57 2014
>>> New Revision: 221769
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=221769&view=rev
>>> Log:
>>> delete => delete[] for arrays.
>>>
>>
>> We could probably just replace all these news and deletes with
>> unique_ptr<T> and unique_ptr<T[]>?
>>
>>
> Possibly, but it also seems reasonable that tests for the sanitizers
> wanted to directly access memory as opposed to going through a unique_ptr.
> For instance, the asan test is set up to get the line of the memory access,
> which would not work if the access happened in a unique_ptr method.
>

Fair - though I think the memory access would actually still be in the
test, rather than in unique_ptr - even if you use unique_ptr's operator*,
it'll return (at the machine level) a pointer, which will be dereferenced
in the caller. (if not, and that particular memory access location is
desired, it could still be written using unique_ptr::get)

Alexey - any ideas if these can reasonably moved to unique_ptr?


>
>>> Modified:
>>>     compiler-rt/trunk/lib/asan/tests/asan_test.cc
>>>     compiler-rt/trunk/lib/msan/tests/msan_test.cc
>>>
>>> Modified: compiler-rt/trunk/lib/asan/tests/asan_test.cc
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_test.cc?rev=221769&r1=221768&r2=221769&view=diff
>>>
>>> ==============================================================================
>>> --- compiler-rt/trunk/lib/asan/tests/asan_test.cc (original)
>>> +++ compiler-rt/trunk/lib/asan/tests/asan_test.cc Tue Nov 11 22:19:57
>>> 2014
>>> @@ -832,7 +832,7 @@ NOINLINE static int LargeFunction(bool d
>>>    x[18]++;
>>>    x[19]++;
>>>
>>> -  delete x;
>>> +  delete[] x;
>>>    return res;
>>>  }
>>>
>>>
>>> Modified: compiler-rt/trunk/lib/msan/tests/msan_test.cc
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/tests/msan_test.cc?rev=221769&r1=221768&r2=221769&view=diff
>>>
>>> ==============================================================================
>>> --- compiler-rt/trunk/lib/msan/tests/msan_test.cc (original)
>>> +++ compiler-rt/trunk/lib/msan/tests/msan_test.cc Tue Nov 11 22:19:57
>>> 2014
>>> @@ -570,7 +570,7 @@ TEST(MemorySanitizer, fread) {
>>>    EXPECT_NOT_POISONED(x[16]);
>>>    EXPECT_NOT_POISONED(x[31]);
>>>    fclose(f);
>>> -  delete x;
>>> +  delete[] x;
>>>  }
>>>
>>>  TEST(MemorySanitizer, read) {
>>> @@ -583,7 +583,7 @@ TEST(MemorySanitizer, read) {
>>>    EXPECT_NOT_POISONED(x[16]);
>>>    EXPECT_NOT_POISONED(x[31]);
>>>    close(fd);
>>> -  delete x;
>>> +  delete[] x;
>>>  }
>>>
>>>  TEST(MemorySanitizer, pread) {
>>> @@ -596,7 +596,7 @@ TEST(MemorySanitizer, pread) {
>>>    EXPECT_NOT_POISONED(x[16]);
>>>    EXPECT_NOT_POISONED(x[31]);
>>>    close(fd);
>>> -  delete x;
>>> +  delete[] x;
>>>  }
>>>
>>>  TEST(MemorySanitizer, readv) {
>>> @@ -2807,7 +2807,7 @@ TEST(MemorySanitizer, scanf) {
>>>    EXPECT_NOT_POISONED(s[4]);
>>>    EXPECT_NOT_POISONED(s[5]);
>>>    EXPECT_POISONED(s[6]);
>>> -  delete s;
>>> +  delete[] s;
>>>    delete d;
>>>  }
>>>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141112/bfb20037/attachment.html>


More information about the llvm-commits mailing list