[fortran,patch] Fix PR 25252, error-recovery and ice-on-invalid
Jerry DeLisle
jvdelisle@verizon.net
Sat Nov 17 18:07:00 GMT 2007
FX Coudert wrote:
> Attached patch fixes PR 25252, which is in fact two error-recovery and
> ice-on-invalid bugs in gfc_match_modproc(), the function that matches
> module procedure statements. The first part is to move the check for
> syntax error earlier in the loop. The second part is the recovery part:
> when we have a syntax error after having succesfully emitted code for
> some symbols (like "module procedure foo, bar, not => allowed"), we used
> to no remove the already created symbols (foo and bar) from the
> interface, even though the symbols will be cleaned up in
> reject_statement(). Thus, the interface's sym->interface.generic (if
> it's a generic interface, e.g.) was left with pointers to cleaned up
> memory. I counter this by resetting the interface to its previous state
> (creating two auxiliary functions in interface.c to help), and freeing
> the allocated gfc_interface's.
>
> Bootstrapped and regtested on x86_64-linux, OK to commit?
>
> FX
>
>
>
> :ADDPATCH fortran:
This OK, very clean.
Jerry
More information about the Fortran
mailing list