summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/possible.patch
blob: 1091844ee02a98f17173649030bdd5e982037935 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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                                                          ---*/
 /*--------------------------------------------------------------------*/
-