* ==================== TOOL CHANGES ====================
* Memcheck:
+ - The default value for --leak-check-heuristics has been changed from
+ "none" to "all". This helps to reduce the number of possibly
+ lost blocks, in particular for C++ applications.
- The default value for --keep-stacktraces has been changed from
"malloc-then-free" to "malloc-and-free". This has a small cost in
<varlistentry id="opt.leak-check-heuristics" xreflabel="--leak-check-heuristics">
<term>
- <option><![CDATA[--leak-check-heuristics=<set> [default: none] ]]></option>
+ <option><![CDATA[--leak-check-heuristics=<set> [default: all] ]]></option>
</term>
<listitem>
<para>Specifies the set of leak check heuristics to be used
#define HiS(h,s) ((s) & H2S(h))
/* Heuristics set to use for the leak search.
- Default : no heuristic. */
+ Default : all heuristics. */
extern UInt MC_(clo_leak_check_heuristics);
/* Assume accesses immediately below %esp are due to gcc-2.96 bugs.
VgRes MC_(clo_leak_resolution) = Vg_HighRes;
UInt MC_(clo_show_leak_kinds) = R2S(Possible) | R2S(Unreached);
UInt MC_(clo_error_for_leak_kinds) = R2S(Possible) | R2S(Unreached);
-UInt MC_(clo_leak_check_heuristics) = 0;
+UInt MC_(clo_leak_check_heuristics) = H2S(LchStdString)
+ | H2S( LchLength64)
+ | H2S( LchNewArray)
+ | H2S( LchMultipleInheritance);
Bool MC_(clo_workaround_gcc296_bugs) = False;
Int MC_(clo_malloc_fill) = -1;
Int MC_(clo_free_fill) = -1;
" where kind is one of:\n"
" definite indirect possible reachable all none\n"
" --leak-check-heuristics=heur1,heur2,... which heuristics to use for\n"
-" improving leak search false positive [none]\n"
+" improving leak search false positive [all]\n"
" where heur is one of:\n"
" stdstring length64 newarray multipleinheritance all none\n"
" --show-reachable=yes same as --show-leak-kinds=all\n"