diff options
author | Andre Vehreschild <vehre@gcc.gnu.org> | 2017-01-13 11:22:21 +0100 |
---|---|---|
committer | Andre Vehreschild <vehre@gcc.gnu.org> | 2017-01-13 11:22:21 +0100 |
commit | 4ccff88b71d7988940c736f123071b11fb614d05 (patch) | |
tree | 02a651be289a53ea81ff6fe0d011d7b35f3e8ef2 /gcc/fortran/trans-expr.c | |
parent | d8f43ee6d0921b73670e8e123cdd0850dfeb330e (diff) | |
download | gcc-4ccff88b71d7988940c736f123071b11fb614d05.zip gcc-4ccff88b71d7988940c736f123071b11fb614d05.tar.gz gcc-4ccff88b71d7988940c736f123071b11fb614d05.tar.bz2 |
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
gcc/testsuite/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* gfortran.dg/coarray/event_3.f08: New test.
gcc/fortran/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
is valid before accessing it.
libgfortran/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* caf/single.c (_gfortran_caf_register): Allocate enough memory for
the event counter.
From-SVN: r244407
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r-- | gcc/fortran/trans-expr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index caaee6b..01b7dd2 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -1838,6 +1838,10 @@ gfc_get_tree_for_caf_expr (gfc_expr *expr) "component at %L is not supported", &expr->where); } + /* Make sure the backend_decl is present before accessing it. */ + if (expr->symtree->n.sym->backend_decl == NULL_TREE) + expr->symtree->n.sym->backend_decl + = gfc_get_symbol_decl (expr->symtree->n.sym); caf_decl = expr->symtree->n.sym->backend_decl; gcc_assert (caf_decl); if (expr->symtree->n.sym->ts.type == BT_CLASS) |