]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add processing of sized delete operators into filter_libc
authorPetar Jovanovic <mips32r2@gmail.com>
Thu, 21 Jun 2018 09:59:20 +0000 (11:59 +0200)
committerPetar Jovanovic <mips32r2@gmail.com>
Thu, 21 Jun 2018 09:59:51 +0000 (11:59 +0200)
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.

memcheck/tests/mismatches.stderr.exp
tests/filter_libc

index af5eae0eaac6c9d1e0d7c5dcdf1e357706d8e79a..b3659c5c8acb132abde20ea8689b2a8f90393984 100644 (file)
@@ -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:...)
index 9a508b0bc1c6c9d529dfbf99b87374d09a997fa3..9607db56fd1381d41e1e2eabf4001a8acec7fac9 100755 (executable)
@@ -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[].../;