diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-14 23:57:10 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-14 23:57:10 +0000 |
commit | f27ead9885b8646ffdea983a054bdc1ade995cf8 (patch) | |
tree | 95ae97eb0729635dda036cdf9156862f63511c54 /Porting/thirdclean | |
parent | 70f2e746b964cdea678c9678d962177f1ba4632d (diff) | |
download | perl-f27ead9885b8646ffdea983a054bdc1ade995cf8.tar.gz |
Add more rules.
p4raw-id: //depot/perl@16600
Diffstat (limited to 'Porting/thirdclean')
-rw-r--r-- | Porting/thirdclean | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/Porting/thirdclean b/Porting/thirdclean index de1946b880..5a354e7469 100644 --- a/Porting/thirdclean +++ b/Porting/thirdclean @@ -2,20 +2,36 @@ local $/; $_ = <ARGV>; my @accv = /(^-+ \w+ -- \d+ --(?:.(?!^-))+)/msg; -my @leak = /(\d+ bytes? in \d+ leaks? .+? created at:(?:.(?!^\d))+)/msg; +my @leak = /(\d+ bytes? in \d+ leaks? .+? created at:(?:.(?!^[\d-]))+)/msg; $leak[ 0] =~ s/.* were found:\n\n//m; # Snip off totals. -$leak[-1] =~ s/^-+.*//ms; # Snip off final memory layout. # Weed out the known access violations. @accv = grep { ! /-- ru[hs] --.+setlocale.+Perl_init_i18nl10n/s } @accv; -@accv = grep { ! /-- (?:fon|ris) --.+__strxfrm_sb/s } @accv; -@accv = grep { ! /-- rih --.+memmove.+sv_catpv.+moreswitches/s } @accv; +@accv = grep { ! /-- [rw][ui]s --.+_doprnt_dis/s } @accv; +@accv = grep { ! /-- (?:fon|ris) --.+__strxfrm/s } @accv; +@accv = grep { ! /-- rus --.+__catgets/s } @accv; +@accv = grep { ! /-- rus --.+tmpnam.+tmpfile/s } @accv; +@accv = grep { ! /-- rus --.+__gethostbyname/s } @accv; +@accv = grep { ! /-- ris --.+__actual_atof/s } @accv; +@accv = grep { ! /-- ris --.+__strftime/s } @accv; + +# Weed out untraceable access violations. +@accv = grep { ! / ----- /s } @accv; +@accv = grep { ! /-- r[ui][hs] --.+proc_at_/s } @accv; +@accv = grep { ! /-- r[ui][hs] --.+pc = 0x/s } @accv; + +@accv = grep { ! /-- rih --.+(?:memmove|strcpy).+moreswitches/s } @accv; @accv = grep { ! /-- (?:rih|rus) --.+strcpy.+gv_fetchfile/s } @accv; -@accv = grep { ! /-- rus --.+_doprnt_dis/s } @accv; @accv = grep { ! /-- rih --.+strcmp.+doopen_pmc/s } @accv; +@accv = grep { ! /-- rih --.+strcmp.+gv_fetchpv/s } @accv; +@accv = grep { ! /-- r[ui]h --.+strcmp.+gv_fetchmeth/s } @accv; @accv = grep { ! /-- rih --.+memmove.+my_setenv/s } @accv; +@accv = grep { ! /-- rih --.+memmove.+catpvn_flags/s } @accv; + +# yyparse. +@accv = grep { ! /Perl_yyparse/s } @accv; # Weed out the known memory leaks. @@ -23,7 +39,18 @@ $leak[-1] =~ s/^-+.*//ms; # Snip off final memory layout. @leak = grep { ! /setlocale.+set_numeric_standard/s } @leak; @leak = grep { ! /_findiop.+fopen/s } @leak; @leak = grep { ! /_findiop.+__fdopen/s } @leak; -@leak = grep { ! /Perl_new\w+.+Perl_yyparse/s } @leak; +@leak = grep { ! /__localtime/s } @leak; +@leak = grep { ! /__get_libc_context/s } @leak; +@leak = grep { ! /__sia_init/s } @leak; +@leak = grep { ! /pc = 0x/s } @leak; +@leak = grep { ! /_pc_range_table/s } @leak; +@leak = grep { ! /_add_gp_range/s } @leak; + +# Weed out untraceable memory leaks. +@leak = grep { ! / ----- /s } @leak; + +# yyparse. +@leak = grep { ! /Perl_yyparse/s } @leak; # Output the cleaned up report. |