------- Comment #4 from dfranke at gcc dot gnu dot org 2007-07-21 20:32 ------- Dumping the parse tree shows that somewhere the symbol of the subroutine gets hooked into the NML-part of the READ statement:
namelist 'foo', subroutine 'foo2': Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4) procedure name = readinput symtree: readinput Ambig 0 from namespace MAIN__ symtree: foo Ambig 0 symbol foo (UNKNOWN 0)(NAMELIST UNKNOWN-INTENT UNKNOWN-ACCESS UNKNOWN-PROC UNKNOWN) READ UNIT=5 NML=foo DT_END namelist 'foo', subroutine 'foo': Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4) procedure name = readinput symtree: readinput Ambig 0 from namespace MAIN__ symtree: foo Ambig 0 from namespace MAIN__ READ UNIT=5 NML=`ró·`ró·ÐÐpró·pró·xró·xró·ró·ró·ró·ró·ró·ró·ró·ró· ró· ró·šró·šró·°ró·°ró·žró·žró·Àró·Àró·Èró·Èró·Ðró·Ðró·Øró·Øró·àró·àró·èró·èró·ðró·ðró·øró·øró· DT_END Note the wrong namespace association of 'foo' in the second dump. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32710