re PR fortran/47203 (USE of module with same name as SUBROUTINE not reject, but also not working)

PR fortran/47203
	* module.c (check_for_ambiguous): Get the current program unit using
	gfc_current_ns.

	PR fortran/47203
	* gfortran.dg/use_28.f90: New test.

From-SVN: r195065
This commit is contained in:
Mikael Morin 2013-01-09 20:18:44 +00:00
parent e1f2b72927
commit ba29dca90d
4 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/47203
* module.c (check_for_ambiguous): Get the current program unit using
gfc_current_ns.
2013-01-09 Tobias Burnus <burnus@net-b.de>
PR fortran/55758

View File

@ -4493,7 +4493,7 @@ check_for_ambiguous (gfc_symbol *st_sym, pointer_info *info)
module_locus locus;
symbol_attribute attr;
if (st_sym->ns->proc_name && st_sym->name == st_sym->ns->proc_name->name)
if (st_sym->name == gfc_current_ns->proc_name->name)
{
gfc_error ("'%s' of module '%s', imported at %C, is also the name of the "
"current program unit", st_sym->name, module_name);

View File

@ -1,3 +1,8 @@
2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/47203
* gfortran.dg/use_28.f90: New test.
2012-01-09 Uros Bizjak <ubizjak@gmail.com>
* gfortran.dg/intrinsic_size_3.f90: Make scan-tree-dump-times

View File

@ -0,0 +1,18 @@
! { dg-do compile }
!
! PR fortran/47203
! The USE statement of a module was not rejected in a procedure with the same
! name if the procedure was contained.
!
! Contributed by Tobias Burnus <burnus@net-b.de>
module m
end module m
call m
contains
subroutine m()
use m ! { dg-error "is also the name of the current program unit" }
end subroutine m
end