From: Petar Jovanovic Date: Thu, 21 Jun 2018 09:59:20 +0000 (+0200) Subject: Add processing of sized delete operators into filter_libc X-Git-Tag: VALGRIND_3_14_0~94 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19101881244cabaaf354340b7d2398e9154fa043;p=thirdparty%2Fvalgrind.git Add processing of sized delete operators into filter_libc C++14 introduces sized delete operators and Valgrind support is added by 6ef6f73. In addition, stderr filter which is used by Regtest should be able to recognize this particular form in error report (just like the other kinds of delete operators) in order to provide uniform output. Fixes memcheck/tests/mismatches failure on non C++14 builds. Patch by Aleksandar Rikalo. --- diff --git a/memcheck/tests/mismatches.stderr.exp b/memcheck/tests/mismatches.stderr.exp index af5eae0eaa..b3659c5c8a 100644 --- a/memcheck/tests/mismatches.stderr.exp +++ b/memcheck/tests/mismatches.stderr.exp @@ -1,5 +1,5 @@ Mismatched free() / delete / delete [] - at 0x........: operator delete(void*, unsigned long) (vg_replace_malloc.c:...) + at 0x........: ...operator delete... (vg_replace_malloc.c:...) by 0x........: main (mismatches.cpp:6) Address 0x........ is 0 bytes inside a block of size 10 alloc'd at 0x........: malloc (vg_replace_malloc.c:...) @@ -13,7 +13,7 @@ Mismatched free() / delete / delete [] by 0x........: main (mismatches.cpp:7) Mismatched free() / delete / delete [] - at 0x........: operator delete(void*, unsigned long) (vg_replace_malloc.c:...) + at 0x........: ...operator delete... (vg_replace_malloc.c:...) by 0x........: main (mismatches.cpp:13) Address 0x........ is 0 bytes inside a block of size 40 alloc'd at 0x........: ...operator new[]... (vg_replace_malloc.c:...) diff --git a/tests/filter_libc b/tests/filter_libc index 9a508b0bc1..9607db56fd 100755 --- a/tests/filter_libc +++ b/tests/filter_libc @@ -31,7 +31,7 @@ while (<>) s/(at.*)operator new\[\]\(unsigned(| int| long)\)/$1...operator new[].../; s/(at.*)__builtin_delete/$1...operator delete.../; - s/(at.*)operator delete\(void\*\)/$1...operator delete.../; + s/(at.*)operator delete\(void\*(, unsigned(| int| long))?\)/$1...operator delete.../; s/(at.*)__builtin_vec_delete/$1...operator delete[].../; s/(at.*)operator delete\[\]\(void\*\)/$1...operator delete[].../;