aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-03-10 19:56:46 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2010-03-10 19:56:46 +0100
commitabf4d60b541534d42af4e36f723273737164ea38 (patch)
treeeff59b3d5f00938e870bb485b23af9f4d5a43ff0 /gcc/fortran
parent23f39b378852d679e5d24bbc204ec4ca8fefbd8c (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/fortran/symbol.c2
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);