------- 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