diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-03-10 19:56:46 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-03-10 19:56:46 +0100 |
commit | abf4d60b541534d42af4e36f723273737164ea38 (patch) | |
tree | eff59b3d5f00938e870bb485b23af9f4d5a43ff0 /gcc/fortran | |
parent | 23f39b378852d679e5d24bbc204ec4ca8fefbd8c (diff) | |
download | gcc-abf4d60b541534d42af4e36f723273737164ea38.zip gcc-abf4d60b541534d42af4e36f723273737164ea38.tar.gz gcc-abf4d60b541534d42af4e36f723273737164ea38.tar.bz2 |
2010-03-10 Tobias Burnus <burnus@net-b.de
PR fortran/43303
* symbol.c (get_iso_c_sym): Set sym->result.
2010-03-10 Tobias Burnus <burnus@net-b.de
PR fortran/43303
* gfortran.dg/c_assoc_3.f90: New test.
From-SVN: r157364
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8165bb1..f9bde006 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,10 +1,15 @@ +2010-03-10 Tobias Burnus <burnus@net-b.de + + PR fortran/43303 + * symbol.c (get_iso_c_sym): Set sym->result. + 2010-03-08 Janus Weil <janus@gcc.gnu.org> PR fortran/43256 * resolve.c (resolve_compcall): Don't set 'value.function.name' here for TBPs, otherwise they will not be resolved properly. (resolve_function): Use 'value.function.esym' instead of - 'value.function.name' to check if we're dealing with a TBP. + 'value.function.name' to check if we're dealing with a TBP. (check_class_members): Set correct type of passed object for all TBPs, not only generic ones, except if the type is abstract. diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index e363c5e..0cbbacc 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -4502,6 +4502,8 @@ get_iso_c_sym (gfc_symbol *old_sym, char *new_name, new_symtree->n.sym->module = gfc_get_string (old_sym->module); new_symtree->n.sym->from_intmod = old_sym->from_intmod; new_symtree->n.sym->intmod_sym_id = old_sym->intmod_sym_id; + if (old_sym->attr.function) + new_symtree->n.sym->result = new_symtree->n.sym; /* Build the formal arg list. */ build_formal_args (new_symtree->n.sym, old_sym, add_optional_arg); |