diff options
author | Bernhard Fischer <aldot@gcc.gnu.org> | 2006-11-20 17:20:33 +0100 |
---|---|---|
committer | Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | 2006-11-20 17:20:33 +0100 |
commit | 9d691ba7501c741571edc1618c434316b1eb0170 (patch) | |
tree | 1c22521a19dd87fd68039ebbda9a598ad162614e /gcc/fortran/resolve.c | |
parent | d58542ea03f8bd11572dee1bdc16758df3235083 (diff) | |
download | gcc-9d691ba7501c741571edc1618c434316b1eb0170.zip gcc-9d691ba7501c741571edc1618c434316b1eb0170.tar.gz gcc-9d691ba7501c741571edc1618c434316b1eb0170.tar.bz2 |
re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
fortran/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* resolve.c (resolve_variable): Get the implicit type from the
symbols namespace rather than the default namespace. Fix whitespace.
(resolve_formal_arglist, resolve_equivalence): Fix typo.
testsuite/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* gfortran.dg/implicit_10.f90: New test.
From-SVN: r119016
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 3d567cb..5bd8296 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -232,7 +232,7 @@ resolve_formal_arglist (gfc_symbol * proc) { gfc_error ("Character-valued argument '%s' of statement function at " - "%L must has constant length", + "%L must have constant length", sym->name, &sym->declared_at); continue; } @@ -2966,7 +2966,7 @@ resolve_variable (gfc_expr * e) else { /* Must be a simple variable reference. */ - if (gfc_set_default_type (sym, 1, NULL) == FAILURE) + if (gfc_set_default_type (sym, 1, sym->ns) == FAILURE) return FAILURE; e->ts = sym->ts; } @@ -6008,11 +6008,9 @@ resolve_symbol (gfc_symbol * sym) case FL_PARAMETER: if (resolve_fl_parameter (sym) == FAILURE) return; - break; default: - break; } @@ -6692,7 +6690,7 @@ resolve_equivalence (gfc_equiv *eq) { if (value_name != NULL) { - gfc_error ("Initialized objects '%s' and '%s' cannot both " + gfc_error ("Initialized objects '%s' and '%s' cannot both " "be in the EQUIVALENCE statement at %L", value_name, sym->name, &e->where); continue; |