------- Comment #2 from janus at gcc dot gnu dot org 2010-02-25 09:08 ------- The problem lies in gfc_impure_variable (resolve.c), where it is checked if the namespace of the variable equals the local namespace of the pure procedure. This check fails if the procedure has sub-namespaces.
We have sub-namespaces e.g. in the following cases: 1) BLOCK 2) SELECT TYPE 3) contained procedures 4) ...? Comment #0 shows the failure for case (2), but the others may also be affected. I'll check this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43169