re PR fortran/59023 (ICE in gfc_search_interface with BIND(C))
2014-01-06 Janus Weil <janus@gcc.gnu.org> PR fortran/59023 PR fortran/59662 * resolve.c (resolve_global_procedure): Don't apply to c-binding procedures. (gfc_verify_binding_labels): Remove duplicate line. 2014-01-06 Janus Weil <janus@gcc.gnu.org> PR fortran/59023 * gfortran.dg/bind_c_procs_2.f90: New. From-SVN: r206355
This commit is contained in:
parent
c7d19c0b58
commit
04ba12ef8d
@ -1,3 +1,11 @@
|
||||
2014-01-06 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/59023
|
||||
PR fortran/59662
|
||||
* resolve.c (resolve_global_procedure): Don't apply to c-binding
|
||||
procedures.
|
||||
(gfc_verify_binding_labels): Remove duplicate line.
|
||||
|
||||
2014-01-04 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/59547
|
||||
|
@ -2351,6 +2351,7 @@ resolve_global_procedure (gfc_symbol *sym, locus *where,
|
||||
if ((sym->attr.if_source == IFSRC_UNKNOWN
|
||||
|| sym->attr.if_source == IFSRC_IFBODY)
|
||||
&& gsym->type != GSYM_UNKNOWN
|
||||
&& !gsym->binding_label
|
||||
&& gsym->ns
|
||||
&& gsym->ns->resolved != -1
|
||||
&& gsym->ns->proc_name
|
||||
@ -10163,7 +10164,6 @@ gfc_verify_binding_labels (gfc_symbol *sym)
|
||||
gsym->where = sym->declared_at;
|
||||
gsym->sym_name = sym->name;
|
||||
gsym->binding_label = sym->binding_label;
|
||||
gsym->binding_label = sym->binding_label;
|
||||
gsym->ns = sym->ns;
|
||||
gsym->mod_name = module;
|
||||
if (sym->attr.function)
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-01-06 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/59023
|
||||
* gfortran.dg/bind_c_procs_2.f90: New.
|
||||
|
||||
2014-01-05 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
* gcc.dg/tree-ssa/reassoc-33.c: Don't run on hppa*-*-*.
|
||||
|
22
gcc/testsuite/gfortran.dg/bind_c_procs_2.f90
Normal file
22
gcc/testsuite/gfortran.dg/bind_c_procs_2.f90
Normal file
@ -0,0 +1,22 @@
|
||||
! { dg-do compile }
|
||||
!
|
||||
! PR 59023: [4.9 regression] ICE in gfc_search_interface with BIND(C)
|
||||
!
|
||||
! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||
|
||||
type t
|
||||
integer hidden
|
||||
end type
|
||||
|
||||
contains
|
||||
|
||||
subroutine bar
|
||||
type(t) :: toto
|
||||
interface
|
||||
integer function helper() bind(c)
|
||||
end function
|
||||
end interface
|
||||
toto = t(helper())
|
||||
end subroutine
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user