Add more rules.
Jarkko Hietaniemi [Tue, 14 May 2002 23:57:10 +0000 (23:57 +0000)]
p4raw-id: //depot/perl@16600

Porting/thirdclean

index de1946b..5a354e7 100644 (file)
@@ -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.