diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2007-11-27 19:21:52 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2007-11-27 19:21:52 +0000 |
commit | 0e5a218b31eb720caa70b19439e26f658f151070 (patch) | |
tree | be82a309f3817052399ef60052788c41bf329635 /gcc/fortran/interface.c | |
parent | f98e89380fd7ca4035221eaa9a8efad0e420d1b5 (diff) | |
download | gcc-0e5a218b31eb720caa70b19439e26f658f151070.zip gcc-0e5a218b31eb720caa70b19439e26f658f151070.tar.gz gcc-0e5a218b31eb720caa70b19439e26f658f151070.tar.bz2 |
re PR fortran/33541 (gfortran wrongly imports renamed-use-associated symbol unrenamed)
2007-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
*interface.c (compare_actual_formal): Exclude assumed size
arrays from the possibility of scalar to array mapping.
* decl.c (get_proc_name): Fix whitespace problem.
PR fortran/34231
* gfortran.h : Add 'use_rename' bit to symbol_attribute.
* module.c : Add 'renamed' field to pointer_info.u.rsym.
(load_generic_interfaces): Add 'renamed' that is set after the
number_use_names is called. This is used to set the attribute
use_rename, which, in its turn identifies those symbols that
have not been renamed.
(load_needed): If pointer_info.u.rsym->renamed is set, then
set the use_rename attribute of the symbol.
(read_module): Correct an erroneous use of use_flag. Use the
renamed flag and the use_rename attribute to determine which
symbols are not renamed.
2007-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
* gfortran.dg/use_11.f90: New test.
PR fortran/34231
* gfortran.dg/generic_15.f90: New test.
From-SVN: r130471
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 67a60f6..0ff3112 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1782,7 +1782,7 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, || f->sym->as->type == AS_DEFERRED); if (f->sym->ts.type == BT_CHARACTER && a->expr->ts.type == BT_CHARACTER - && a->expr->rank == 0 + && a->expr->rank == 0 && !ranks_must_agree && f->sym->as && f->sym->as->type != AS_ASSUMED_SHAPE) { if (where && (gfc_option.allow_std & GFC_STD_F2003) == 0) |