Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/46849
* resolve.c (resolve_symbol): Remove symbols that wrongly ended up
in a local BLOCK namespace.
2010-12-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/46849
* gfortran.dg/block_9.f08: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167978
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-12-17 Janus Weil <janus@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/46849
+ * resolve.c (resolve_symbol): Remove symbols that wrongly ended up
+ in a local BLOCK namespace.
+
2010-12-15 Jakub Jelinek <jakub@redhat.com>
PR fortran/46945
for (ns = gfc_current_ns->parent; ns; ns = ns->parent)
{
symtree = gfc_find_symtree (ns->sym_root, sym->name);
- if (symtree && symtree->n.sym->generic)
+ if (symtree && (symtree->n.sym->generic ||
+ (symtree->n.sym->attr.flavor == FL_PROCEDURE
+ && sym->ns->construct_entities)))
{
this_symtree = gfc_find_symtree (gfc_current_ns->sym_root,
sym->name);
+2010-12-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46849
+ * gfortran.dg/block_9.f08: New.
+
2010-12-17 Dodji Seketeli <dodji@redhat.com>
* g++.dg/debug/dwarf2/self-ref-1.C: New test.
--- /dev/null
+! { dg-do compile }
+!
+! PR 46849: [OOP] MODULE PROCEDURE resolution does not work in BLOCK or SELECT TYPE
+!
+! Contributed by Reinhold Bader <bader@lrz.de>
+
+ implicit none
+
+ block
+ call init(fun)
+ end block
+
+contains
+
+ subroutine init(func)
+ real, external :: func
+ end subroutine
+
+ real function fun()
+ fun = 1.1
+ end function
+
+end