http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45848
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #2 from Mikael Morin <mikael at gcc dot gnu.org> 2010-10-01 13:34:46 UTC --- gfc_match_select_type has: new_st.op = EXEC_SELECT_TYPE; new_st.expr1 = expr1; new_st.expr2 = expr2; new_st.ext.block.ns = gfc_current_ns; gfc_free_statement has: case EXEC_SELECT: case EXEC_SELECT_TYPE: if (p->ext.case_list) gfc_free_case_list (p->ext.case_list); break; as gfc_code.ext is an union, gfc_free_case_list (p->ext.case_list) is actually gfc_free_case_list (p->ext.block.ns)