mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
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.
46 lines
1.5 KiB
Perl
Executable File
46 lines
1.5 KiB
Perl
Executable File
#! /usr/bin/perl -w
|
|
|
|
use strict;
|
|
|
|
while (<>)
|
|
{
|
|
s/ __getsockname / getsockname /;
|
|
s/ __sigaction / sigaction /;
|
|
s/ __GI___/ __/;
|
|
s/ __([a-z]*)_nocancel / $1 /;
|
|
|
|
# "lib[S|s]ystem*" occurs on Darwin, "libsocket" on older Solaris/illumos.
|
|
s/\(in \/.*(libc|libSystem|libsystem|libsocket).*\)$/(in \/...libc...)/;
|
|
s/\(within \/.*(libc|libSystem|libsystem|libsocket).*\)$/(within \/...libc...)/;
|
|
|
|
# Filter out dynamic loader
|
|
s/ \(in \/.*ld-.*so\)$//;
|
|
|
|
# Remove the filename -- on some platforms (eg. Linux) it will be in
|
|
# libc, on some (eg. Darwin) it will be in the main executable.
|
|
s/\(below main\) \(.+\)$/(below main)/;
|
|
|
|
# filter out the exact libc-start.c:### line number. (ppc64*)
|
|
s/\(libc-start.c:[0-9]*\)$/(in \/...libc...)/;
|
|
|
|
# Merge the different C++ operator variations.
|
|
s/(at.*)__builtin_new/$1...operator new.../;
|
|
s/(at.*)operator new\(unsigned(| int| long)\)/$1...operator new.../;
|
|
|
|
s/(at.*)__builtin_vec_new/$1...operator new.../;
|
|
s/(at.*)operator new\[\]\(unsigned(| int| long)\)/$1...operator new[].../;
|
|
|
|
s/(at.*)__builtin_delete/$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[].../;
|
|
|
|
# Some glibc versions complain about unexpected futex syscall errors.
|
|
s/The futex facility returned an unexpected error code.//;
|
|
|
|
print;
|
|
}
|
|
|
|
exit 0;
|