re PR fortran/30878 (Rejects function f1; namelist /nml/ f1)
authorPaul Thomas <pault@gcc.gnu.org>
Fri, 11 May 2007 11:42:56 +0000 (11:42 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Fri, 11 May 2007 11:42:56 +0000 (11:42 +0000)
commit847b053dd214c6e26a2025bf29422457cb50143d
treeeb28e776bc0b0ddb2c8cd9a8a1ef194444373808
parent35dd9a0e6d9491ee708c2d75ecf8d74aa40cbb39
re PR fortran/30878 (Rejects function f1; namelist /nml/ f1)

2007-05-11 Paul Thomas <pault@gcc.gnu.org>

PR fortran/30878
* resolve.c (resolve_fl_namelist): It is not an error if the
namelist element is the result variable of the enclosing
function.  Search for the symbol in current and all parent
namespaces for a potential conflict.
* symbol.c (check_conflict): Remove the conflict between
'in_namelist' and 'FL_PROCEDURE' because the symbol info
is not available to exclude function result variables.
* trans-io.c (nml_get_addr_expr): Use the fake result decl
if the symbol is an implicit result variable.

2007-05-11 Paul Thomas <pault@gcc.gnu.org>

PR fortran/30878
* gfortran.dg/namelist_29.f90: New test.

From-SVN: r124615
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/fortran/trans-io.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/namelist_29.f90 [new file with mode: 0644]