Re: [Patch] Fortran: Avoid double-free with parse error (PR96041, PR93423)

2020-09-17 Thread Andre Vehreschild
Hi Tobias, I see. Then OK for trunk by me. - Andre On Wed, 16 Sep 2020 10:35:53 +0200 Tobias Burnus wrote: > Hi Andre, > > On 9/16/20 9:58 AM, Andre Vehreschild wrote: > > + st->n.sym = NULL; > > > > Don't we need free or unlink the st node from the symtree, too? > > I did not see a

Re: [Patch] Fortran: Avoid double-free with parse error (PR96041, PR93423)

2020-09-16 Thread Tobias Burnus
Hi Andre, On 9/16/20 9:58 AM, Andre Vehreschild wrote: + st->n.sym = NULL; Don't we need free or unlink the st node from the symtree, too? I did not see a way to simply remove a single symtree; as this is the error case, I left the item in the symtree. The symtree itself is removed

Re: [Patch] Fortran: Avoid double-free with parse error (PR96041, PR93423)

2020-09-16 Thread Andre Vehreschild
Hi Tobias, diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index c612b492f3e..326e6f5db7a 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -9819,6 +9819,15 @@ gfc_match_submod_proc (void) if (gfc_match_eos () != MATCH_YES) { + /* Unset st->n.sym. Note: in

Early ping — [Patch] Fortran: Avoid double-free with parse error (PR96041, PR93423)

2020-09-15 Thread Tobias Burnus
Early Fortran-review ping. Solves: PR 96041 - [11 regression] ICE in gfortran.dg/pr93423.f90 after r11-1792 (opened 2020-07-03) The other PR revealed/caused the issue: PR 93423 - [8/9/10/11 Regression] ICE on invalid with argument list for module procedure "Backports will have to wait until

[Patch] Fortran: Avoid double-free with parse error (PR96041, PR93423)

2020-09-12 Thread Tobias Burnus
The testcase for PR93423 did a double free, which caused an ICE. That's reported in PR96041. Slightly frustrated by the FAIL in the testsuite, I decided to debug and, hopefully, fix this. The problem is related to putting the symtree into a sub namespace of the symbol's ns. That's fixed up by