Index: memcheck/mc_main.c =================================================================== --- memcheck/mc_main.c (revision 10771) +++ memcheck/mc_main.c (working copy) @@ -4658,6 +4658,7 @@ LeakCheckMode MC_(clo_leak_check) = LC_Summary; VgRes MC_(clo_leak_resolution) = Vg_HighRes; Bool MC_(clo_show_reachable) = False; +Bool MC_(clo_show_possible) = True; Bool MC_(clo_workaround_gcc296_bugs) = False; Int MC_(clo_malloc_fill) = -1; Int MC_(clo_free_fill) = -1; @@ -4711,6 +4712,7 @@ if VG_BOOL_CLO(arg, "--partial-loads-ok", MC_(clo_partial_loads_ok)) {} else if VG_BOOL_CLO(arg, "--show-reachable", MC_(clo_show_reachable)) {} + else if VG_BOOL_CLO(arg, "--show-possible", MC_(clo_show_possible)) {} else if VG_BOOL_CLO(arg, "--workaround-gcc296-bugs", MC_(clo_workaround_gcc296_bugs)) {} @@ -4776,6 +4778,7 @@ " --leak-check=no|summary|full search for memory leaks at exit? [summary]\n" " --leak-resolution=low|med|high differentiation of leak stack traces [high]\n" " --show-reachable=no|yes show reachable blocks in leak check? [no]\n" +" --show-possible=no|yes show possibly lost blocks in leak check? [yes]\n" " --undef-value-errors=no|yes check for undefined value errors [yes]\n" " --track-origins=no|yes show origins of undefined values? [no]\n" " --partial-loads-ok=no|yes too hard to explain here; see manual [no]\n" Index: memcheck/mc_include.h =================================================================== --- memcheck/mc_include.h (revision 10771) +++ memcheck/mc_include.h (working copy) @@ -394,6 +394,9 @@ /* In leak check, show reachable-but-not-freed blocks? default: NO */ extern Bool MC_(clo_show_reachable); +/* In leak check, show possibly-lost blocks? default: YES */ +extern Bool MC_(clo_show_possible); + /* Assume accesses immediately below %esp are due to gcc-2.96 bugs. * default: NO */ extern Bool MC_(clo_workaround_gcc296_bugs); Index: memcheck/mc_leakcheck.c =================================================================== --- memcheck/mc_leakcheck.c (revision 10771) +++ memcheck/mc_leakcheck.c (working copy) @@ -843,7 +843,7 @@ // lr = lr_array[i]; count_as_error = Unreached == lr->key.state || - Possible == lr->key.state; + (MC_(clo_show_possible) && Possible == lr->key.state); print_record = is_full_check && ( MC_(clo_show_reachable) || count_as_error ); is_suppressed = @@ -1113,4 +1113,3 @@ /*--------------------------------------------------------------------*/ /*--- end ---*/ /*--------------------------------------------------------------------*/ -