From: Harald Anlauf Date: Tue, 13 Aug 2024 19:17:45 +0000 (+0200) Subject: Fortran: fix minor frontend GMP leaks X-Git-Tag: basepoints/gcc-16~6636 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a82c4dfe52dac332e0a6f1522459d2f8548419bc;p=thirdparty%2Fgcc.git Fortran: fix minor frontend GMP leaks gcc/fortran/ChangeLog: * simplify.cc (gfc_simplify_sizeof): Clear used gmp variable. * target-memory.cc (gfc_target_expr_size): Likewise. --- diff --git a/gcc/fortran/simplify.cc b/gcc/fortran/simplify.cc index 8ddd491de11..953d59efd70 100644 --- a/gcc/fortran/simplify.cc +++ b/gcc/fortran/simplify.cc @@ -7778,9 +7778,13 @@ gfc_simplify_sizeof (gfc_expr *x) || x->ts.u.cl->length->expr_type != EXPR_CONSTANT)) return NULL; - if (x->rank && x->expr_type != EXPR_ARRAY - && !gfc_array_size (x, &array_size)) - return NULL; + if (x->rank && x->expr_type != EXPR_ARRAY) + { + if (!gfc_array_size (x, &array_size)) + return NULL; + + mpz_clear (array_size); + } result = gfc_get_constant_expr (BT_INTEGER, gfc_index_integer_kind, &x->where); diff --git a/gcc/fortran/target-memory.cc b/gcc/fortran/target-memory.cc index a02db7a06e4..0a289f32d37 100644 --- a/gcc/fortran/target-memory.cc +++ b/gcc/fortran/target-memory.cc @@ -158,6 +158,8 @@ gfc_target_expr_size (gfc_expr *e, size_t *size) asz = mpz_get_ui (tmp); else return false; + + mpz_clear (tmp); } else asz = 1;