> The problem: Statement labels within a type declaration are put in the > statement label tree belonging to the type declaration's namespace's (instead > of the current namespace). When the line is otherwise empty and an error is > issued, gfc_free_st_label tries to delete the label from the label tree > belonging to the current namespace and then frees the label structure, > leaving an invalid statement label pointer in the type declaration's > namespace's label tree. When that namespace is cleaned up, bad things can > happen.
Seems OK. Please post patches with full ChangeLog entry, stating how they were tested (“bootstraped and regtested on x86_64-linux”, for example). And of course, do an actual full regression-test :) If that was done, then OK to commit. Thanks, FX