From: Philippe Waroquiers Date: Wed, 2 Sep 2015 21:57:53 +0000 (+0000) Subject: - The default value for --leak-check-heuristics has been changed from X-Git-Tag: svn/VALGRIND_3_11_0~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5dd149b6057495550f62756ab0159800635bf5b;p=thirdparty%2Fvalgrind.git - 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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15618 --- diff --git a/NEWS b/NEWS index ea3fa2f070..7699b45784 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,9 @@ X86/MacOSX 10.10 and 10.11 and AMD64/MacOSX 10.10 and 10.11. * ==================== 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 diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml index 39c032b79d..b54b721a43 100644 --- a/memcheck/docs/mc-manual.xml +++ b/memcheck/docs/mc-manual.xml @@ -811,7 +811,7 @@ is - + Specifies the set of leak check heuristics to be used diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h index 3aeceb5647..663cdcaa9a 100644 --- a/memcheck/mc_include.h +++ b/memcheck/mc_include.h @@ -642,7 +642,7 @@ typedef #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. diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 838a296629..65fdfcb0dd 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -5699,7 +5699,10 @@ LeakCheckMode MC_(clo_leak_check) = LC_Summary; 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; @@ -5879,7 +5882,7 @@ static void mc_print_usage(void) " 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"