diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-21 01:18:02 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-21 01:18:02 +0000 |
commit | 5720fd2fcae17043d12b0010e0f56b207e0ebe2a (patch) | |
tree | 07e0dcc099349be34d0f16f10b3cbe122c6148cc /gcc/fortran/decl.c | |
parent | f4477dcae80121912b57484e74b3a7b2be5ef625 (diff) | |
download | gcc-5720fd2fcae17043d12b0010e0f56b207e0ebe2a.tar.gz |
2007-06-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/25061
* decl.c (get_proc_name) Check symbol for generic interface
and issue an error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125906 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r-- | gcc/fortran/decl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 82d3e6686ca..2568a50c7b3 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -696,6 +696,14 @@ get_proc_name (const char *name, gfc_symbol **result, bool module_fcn_entry) gfc_error_now ("Procedure '%s' at %C is already defined at %L", name, &sym->declared_at); + /* Trap a procedure with a name the same as interface in the + encompassing scope. */ + if (sym->attr.generic != 0 + && (sym->attr.subroutine || sym->attr.function)) + gfc_error_now ("Name '%s' at %C is already defined" + " as a generic interface at %L", + name, &sym->declared_at); + /* Trap declarations of attributes in encompassing scope. The signature for this is that ts.kind is set. Legitimate references only set ts.type. */ |