diff options
| author | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-27 13:46:47 +0000 |
|---|---|---|
| committer | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-27 13:46:47 +0000 |
| commit | 08b102c224d0932a010fd8a0b727cd5495aa9d57 (patch) | |
| tree | 231b280ad1ab1a5c7cd73bfdbf36922437ed84e8 /gcc/fortran/gfortran.h | |
| parent | 965cb7c9c3ed853f2f79be54d2a1ee6666556627 (diff) | |
| download | ppe42-gcc-08b102c224d0932a010fd8a0b727cd5495aa9d57.tar.gz ppe42-gcc-08b102c224d0932a010fd8a0b727cd5495aa9d57.zip | |
2006-12-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* interface.c (check_sym_interfaces): Try to resolve interface
reference as a global symbol, if it is not a nodule procedure.
(compare_actual_formal): Remove call to gfc_find_symbol; if
the expression is already a variable it is locally declared
and this has precedence.
gfortran.h : Add prototype for resolve_global_procedure.
resolve.c (resolve_global_procedure): Remove static attribute
from function declaration.
(resolve_fl_procedure): Remove symtree declaration and the
redundant check for an ambiguous procedure.
PR fortran/25135
* module.c (load_generic_interfaces): If the symbol is present
and is not generic it is ambiguous.
2006-12-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* gfortran.dg/interface_10.f90: New test.
* gfortran.dg/dummy_procedure_1.f90: Add error for call s1(z),
since z is already, locally a variable.
PR fortran/25135
* gfortran.dg/generic_11.f90: New test.
* gfortran.dg/interface_7.f90: Remove name clash between module
name and procedure 'x' referenced in the interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120218 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/gfortran.h')
| -rw-r--r-- | gcc/fortran/gfortran.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 62862977eeb..b477439ff64 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -2032,6 +2032,7 @@ void gfc_free_statement (gfc_code *); void gfc_free_statements (gfc_code *); /* resolve.c */ +void resolve_global_procedure (gfc_symbol *, locus *, int); try gfc_resolve_expr (gfc_expr *); void gfc_resolve (gfc_namespace *); void gfc_resolve_blocks (gfc_code *, gfc_namespace *); |

