------- Comment #9 from dfranke at gcc dot gnu dot org 2007-07-24 19:59 ------- Obviously, this mechanism fails:
/* Since nothing has any business being an lvalue in a module specification block, an interface block or a contains section, we force the changed_symbols mechanism to work by setting host_flag to 0. This prevents valid symbols that have the name of keywords, such as 'end', being turned into variables by failed matching to assignments for, eg., END INTERFACE. */ if (gfc_current_state () == COMP_MODULE || gfc_current_state () == COMP_INTERFACE || gfc_current_state () == COMP_CONTAINS) host_flag = 0; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32760