diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2016-03-15 19:07:56 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2016-03-15 19:07:56 +0000 |
commit | 86dc98165a42b54af1cfd441b2056ff91770d357 (patch) | |
tree | ba94f5dd0b0a604bc0fc2b02ce7e1aa167f948fe /lib/asan | |
parent | 08eefe1431281e59392c9bc4289872041b5585f7 (diff) |
[ASan] Make sure unittest works if sized-delete is enabled by default.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@263575 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan')
-rw-r--r-- | lib/asan/tests/asan_test.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/asan/tests/asan_test.cc b/lib/asan/tests/asan_test.cc index 23d7b7541..e6bdc5bf5 100644 --- a/lib/asan/tests/asan_test.cc +++ b/lib/asan/tests/asan_test.cc @@ -1163,15 +1163,21 @@ static string MismatchStr(const string &str) { return string("AddressSanitizer: alloc-dealloc-mismatch \\(") + str; } +static string MismatchOrNewDeleteTypeStr(const string &mismatch_str) { + return "(" + MismatchStr(mismatch_str) + + ")|(AddressSanitizer: new-delete-type-mismatch)"; +} + TEST(AddressSanitizer, AllocDeallocMismatch) { EXPECT_DEATH(free(Ident(new int)), MismatchStr("operator new vs free")); EXPECT_DEATH(free(Ident(new int[2])), MismatchStr("operator new \\[\\] vs free")); - EXPECT_DEATH(delete (Ident(new int[2])), - MismatchStr("operator new \\[\\] vs operator delete")); - EXPECT_DEATH(delete (Ident((int*)malloc(2 * sizeof(int)))), - MismatchStr("malloc vs operator delete")); + EXPECT_DEATH( + delete (Ident(new int[2])), + MismatchOrNewDeleteTypeStr("operator new \\[\\] vs operator delete")); + EXPECT_DEATH(delete (Ident((int *)malloc(2 * sizeof(int)))), + MismatchOrNewDeleteTypeStr("malloc vs operator delete")); EXPECT_DEATH(delete [] (Ident(new int)), MismatchStr("operator new vs operator delete \\[\\]")); EXPECT_DEATH(delete [] (Ident((int*)malloc(2 * sizeof(int)))), |