https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97345
Bug ID: 97345 Summary: FE passes do_subscript leaks gmp memory Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- ==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