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
This commit is contained in:
Tobias Burnus 2010-03-10 19:56:46 +01:00 committed by Tobias Burnus
parent 23f39b3788
commit abf4d60b54
4 changed files with 26 additions and 1 deletions

View File

@ -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.

View File

@ -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);

View File

@ -1,3 +1,8 @@
2010-03-10 Tobias Burnus <burnus@net-b.de
PR fortran/43303
* gfortran.dg/c_assoc_3.f90: New test.
2010-03-10 Jakub Jelinek <jakub@redhat.com>
PR debug/36728

View File

@ -0,0 +1,13 @@
! { dg-do compile }
!
! PR fortran/43303
!
! Contributed by Dennis Wassel
!
PROGRAM c_assoc
use iso_c_binding
type(c_ptr) :: x
x = c_null_ptr
print *, C_ASSOCIATED(x) ! <<< was ICEing here
if (C_ASSOCIATED(x)) call abort ()
END PROGRAM c_assoc