diff options
author | Janus Weil <jaydub66@gmail.com> | 2007-07-17 21:33:34 +0000 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-07-17 23:33:34 +0200 |
commit | 4665abc46c9e1b0a6a7eace3ff9aff827ae7179f (patch) | |
tree | 7916ae5fcf8e54e378cb2b3aee500b5499ea6fe3 /gcc | |
parent | 0af0580f585860dd5216d84593b1d816953f7a10 (diff) | |
download | gcc-4665abc46c9e1b0a6a7eace3ff9aff827ae7179f.zip gcc-4665abc46c9e1b0a6a7eace3ff9aff827ae7179f.tar.gz gcc-4665abc46c9e1b0a6a7eace3ff9aff827ae7179f.tar.bz2 |
re PR fortran/32535 (namelist with private items contained in sub-sub-procedure of a module rejected)
2007-07-17 Janus Weil <jaydub66@gmail.com>
PR fortran/32535
* resolve.c (resolve_fl_namelist): Check for namelist private
components in contained subprograms.
2007-07-17 Janus Weil <jaydub66@gmail.com>
PR fortran/32535
* gfortran.dg/pr32535.f90: New test.
From-SVN: r126706
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr32535.f90 | 26 |
4 files changed, 39 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 726fd18..2b46228 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-07-17 Janus Weil <jaydub66@gmail.com> + + PR fortran/32535 + * resolve.c (resolve_fl_namelist): Check for namelist private + components in contained subprograms. + 2007-07-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/31320 diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index aa3c809..d335f36 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -6969,6 +6969,8 @@ resolve_fl_namelist (gfc_symbol *sym) { if (!nl->sym->attr.use_assoc && !(sym->ns->parent == nl->sym->ns) + && !(sym->ns->parent + && sym->ns->parent->parent == nl->sym->ns) && !gfc_check_access(nl->sym->attr.access, nl->sym->ns->default_access)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ec808de..e1a8f1f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-07-17 Janus Weil <jaydub66@gmail.com> + + PR fortran/32535 + * gfortran.dg/pr32535.f90: New test. + 2007-07-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/31320 diff --git a/gcc/testsuite/gfortran.dg/pr32535.f90 b/gcc/testsuite/gfortran.dg/pr32535.f90 new file mode 100644 index 0000000..43ea48e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr32535.f90 @@ -0,0 +1,26 @@ +! { dg-do compile } +! +! PR32535: namelist with private items contained in sub-sub-procedure of a module rejected +! +! Contributed by Janus Weil <jaydub66@gmail.com> + +module mo +implicit none +real, private:: a,b,c + +contains + + subroutine sub + implicit none + namelist /nl1/ a,b,c + + contains + + subroutine subsub + implicit none + namelist /nl2/ a,b,c + end subroutine subsub + end subroutine sub +end module mo + +! { dg-final { cleanup-modules "mo" } } |