mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
gcc/fortran/ChangeLog: 2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/70696 Missed some parts, here they are: * trans-decl.c (gfc_build_qualified_array): Add static tokens to the parent function's scope. * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove unnecessary assert. gcc/testsuite/ChangeLog: 2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/70696 * gfortran.dg/coarray_event_1.f08: New test. From-SVN: r244587
This commit is contained in:
parent
9bca63d44b
commit
3083fc562e
|
|
@ -1,3 +1,12 @@
|
||||||
|
2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/70696
|
||||||
|
Missed some cases, here they are:
|
||||||
|
* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
|
||||||
|
parent function's scope.
|
||||||
|
* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
|
||||||
|
unnecessary assert.
|
||||||
|
|
||||||
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
|
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/70697
|
PR fortran/70697
|
||||||
|
|
|
||||||
|
|
@ -971,6 +971,8 @@ gfc_build_qualified_array (tree decl, gfc_symbol * sym)
|
||||||
DECL_CONTEXT (token) = sym->ns->proc_name->backend_decl;
|
DECL_CONTEXT (token) = sym->ns->proc_name->backend_decl;
|
||||||
gfc_module_add_decl (cur_module, token);
|
gfc_module_add_decl (cur_module, token);
|
||||||
}
|
}
|
||||||
|
else if (sym->attr.host_assoc)
|
||||||
|
gfc_add_decl_to_parent_function (token);
|
||||||
else
|
else
|
||||||
gfc_add_decl_to_function (token);
|
gfc_add_decl_to_function (token);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1839,11 +1839,10 @@ gfc_get_tree_for_caf_expr (gfc_expr *expr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure the backend_decl is present before accessing it. */
|
/* Make sure the backend_decl is present before accessing it. */
|
||||||
if (expr->symtree->n.sym->backend_decl == NULL_TREE)
|
caf_decl = expr->symtree->n.sym->backend_decl == NULL_TREE
|
||||||
expr->symtree->n.sym->backend_decl
|
? gfc_get_symbol_decl (expr->symtree->n.sym)
|
||||||
= gfc_get_symbol_decl (expr->symtree->n.sym);
|
: expr->symtree->n.sym->backend_decl;
|
||||||
caf_decl = expr->symtree->n.sym->backend_decl;
|
|
||||||
gcc_assert (caf_decl);
|
|
||||||
if (expr->symtree->n.sym->ts.type == BT_CLASS)
|
if (expr->symtree->n.sym->ts.type == BT_CLASS)
|
||||||
{
|
{
|
||||||
if (expr->ref && expr->ref->type == REF_ARRAY)
|
if (expr->ref && expr->ref->type == REF_ARRAY)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/70696
|
||||||
|
* gfortran.dg/coarray_event_1.f08: New test.
|
||||||
|
|
||||||
2017-01-18 Jakub Jelinek <jakub@redhat.com>
|
2017-01-18 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR target/77416
|
PR target/77416
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
! { dg-options "-fcoarray=lib -lcaf_single" }
|
||||||
|
|
||||||
|
! Check that pr70696 is really fixed.
|
||||||
|
|
||||||
|
use iso_fortran_env
|
||||||
|
type(event_type) :: x[*]
|
||||||
|
|
||||||
|
! exchange must not be called or the link problem before the patch
|
||||||
|
! does not occur.
|
||||||
|
contains
|
||||||
|
subroutine exchange
|
||||||
|
event post (x[1])
|
||||||
|
end subroutine
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue