[gcc r16-4013] Fortran: fix frontend memory leaks for ALLOCATE with SOURCE [PR109010]
Harald Anlauf
anlauf@gcc.gnu.org
Sun Sep 21 20:01:33 GMT 2025
https://gcc.gnu.org/g:518ec01b363ba782fe9a9b09a05a2716cedf8b01
commit r16-4013-g518ec01b363ba782fe9a9b09a05a2716cedf8b01
Author: Harald Anlauf <anlauf@gmx.de>
Date: Sun Sep 21 21:54:44 2025 +0200
Fortran: fix frontend memory leaks for ALLOCATE with SOURCE [PR109010]
When running under valgrind the Fortran frontend showed several leaks
involving __gmp_default_allocate for simple code such as
program p
real, pointer :: x(:)
allocate (x, source = reshape ([1.], [1]))
end
as not all used components of the structure gfc_code were freed when a
statement was freed. Just do so.
PR fortran/109010
gcc/fortran/ChangeLog:
* st.cc (gfc_free_statement): Also free components expr3 and expr4.
Diff:
---
gcc/fortran/st.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/fortran/st.cc b/gcc/fortran/st.cc
index f7f67b18b671..2281bf6e03b5 100644
--- a/gcc/fortran/st.cc
+++ b/gcc/fortran/st.cc
@@ -86,6 +86,10 @@ gfc_free_statement (gfc_code *p)
gfc_free_expr (p->expr1);
if (p->expr2)
gfc_free_expr (p->expr2);
+ if (p->expr3)
+ gfc_free_expr (p->expr3);
+ if (p->expr4)
+ gfc_free_expr (p->expr4);
switch (p->op)
{
More information about the Gcc-cvs
mailing list