From 851817d85ed21fa9a591720ec53d8754b376500e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 7 Jan 2020 08:14:41 +0100 Subject: [PATCH] re PR fortran/93162 (gcc/fortran/trans-openmp.c:2469:50: runtime error: load of value 145992800, which is not a valid value for type 'ar_type' since r279628) PR fortran/93162 * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type before testing u.ar.type == AR_FULL. From-SVN: r279944 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-openmp.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a09d370f0bd..22f80478988 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2020-01-07 Jakub Jelinek + + PR fortran/93162 + * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type + before testing u.ar.type == AR_FULL. + 2020-01-04 Tobias Burnus PR fortran/91640 diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index 918af74bbf6..9835d2aae3c 100644 --- a/gcc/fortran/trans-openmp.c +++ b/gcc/fortran/trans-openmp.c @@ -2495,7 +2495,9 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses, tree decl = gfc_trans_omp_variable (n->sym, false); if (DECL_P (decl)) TREE_ADDRESSABLE (decl) = 1; - if (n->expr == NULL || n->expr->ref->u.ar.type == AR_FULL) + if (n->expr == NULL + || (n->expr->ref->type == REF_ARRAY + && n->expr->ref->u.ar.type == AR_FULL)) { tree present = gfc_omp_check_optional_argument (decl, true); if (n->sym->ts.type == BT_CLASS) -- 2.30.2