https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97345
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #1 from kargl at gcc dot gnu.org --- (In reply to Richard Biener from comment #0) > ==15138== 8 bytes in 1 blocks are definitely lost in loss record 5 of 742 > ==15138== at 0x4C2E2DF: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15138== by 0x568C698: __gmp_default_allocate (in > /usr/lib64/libgmp.so.10.3.2) > ==15138== by 0x569CA22: __gmpz_init_set (in /usr/lib64/libgmp.so.10.3.2) > ==15138== by 0xC04033: do_subscript(gfc_expr**) (frontend-passes.c:2861) > ==15138== by 0xC03C58: do_function(gfc_expr**, int*, void*) > (frontend-passes.c:2699) > ==15138== by 0xC0A1CD: gfc_expr_walker(gfc_expr**, int (*)(gfc_expr**, > int*, void*), void*) (frontend-passes.c:5189) > > the code is doing mpz_init_set (...) but no where freeing the memory > associated with mpz_t do_start, do_step, do_end While I can find reporting of the above, I see % valgrind -s ~/work/libexec/gcc/x86_64-unknown-freebsd14.0/13.0.0/f951 a.f90 ... ==46939== 183 errors in context 102 of 102: ==46939== Mismatched free() / delete / delete [] ==46939== at 0x484F55C: operator delete[](void*) (in /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==46939== by 0xADF6E2: (anonymous namespace)::dom_info::~dom_info() (dominance.cc:284) ==46939== by 0xAE127C: verify_dominators(cdi_direction) (dominance.cc:1185) ==46939== by 0xA76D5C: verify_loop_structure() (cfgloop.cc:1419) ==46939== by 0xD85B64: checking_verify_loop_structure (cfgloop.h:646) ==46939== by 0xD85B64: loop_optimizer_init(unsigned int) (loop-init.cc:130) ==46939== by 0xF9C25E: execute_build_cfg (tree-cfg.cc:382) ==46939== by 0xF9C25E: (anonymous namespace)::pass_build_cfg::execute(function*) (tree-cfg.cc:412) ==46939== by 0xE6C281: execute_one_pass(opt_pass*) (passes.cc:2644) ==46939== by 0xE6CBA7: execute_pass_list_1(opt_pass*) (passes.cc:2753) ==46939== by 0xE6CBF0: execute_pass_list(function*, opt_pass*) (passes.cc:2764) ==46939== by 0xAA9863: cgraph_node::analyze() (cgraphunit.cc:686) ==46939== by 0xAAC597: analyze_functions(bool) (cgraphunit.cc:1240) ==46939== by 0xAAD2D5: symbol_table::finalize_compilation_unit() (cgraphunit.cc:2514) ==46939== Address 0x5d4e6a0 is 0 bytes inside a block of size 56 alloc'd ==46939== at 0x484D064: operator new(unsigned long) (in /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==46939== by 0xADFBF9: new_zero_array<unsigned int> (dominance.cc:153) ==46939== by 0xADFBF9: (anonymous namespace)::dom_info::dom_init() (dominance.cc:166) ==46939== by 0xADFD18: (anonymous namespace)::dom_info::dom_info(function*, cdi_direction) (dominance.cc:195) ==46939== by 0xAE11AC: verify_dominators(cdi_direction) (dominance.cc:1159) ==46939== by 0xA76D5C: verify_loop_structure() (cfgloop.cc:1419) ==46939== by 0xD85B64: checking_verify_loop_structure (cfgloop.h:646) ==46939== by 0xD85B64: loop_optimizer_init(unsigned int) (loop-init.cc:130) ==46939== by 0xF9C25E: execute_build_cfg (tree-cfg.cc:382) ==46939== by 0xF9C25E: (anonymous namespace)::pass_build_cfg::execute(function*) (tree-cfg.cc:412) ==46939== by 0xE6C281: execute_one_pass(opt_pass*) (passes.cc:2644) ==46939== by 0xE6CBA7: execute_pass_list_1(opt_pass*) (passes.cc:2753) ==46939== by 0xE6CBF0: execute_pass_list(function*, opt_pass*) (passes.cc:2764) ==46939== by 0xAA9863: cgraph_node::analyze() (cgraphunit.cc:686) ==46939== by 0xAAC597: analyze_functions(bool) (cgraphunit.cc:1240) ==46939== ==46939== ERROR SUMMARY: 2511 errors from 102 contexts (suppressed: 0 from 0)