From 9fb0076b11eb2774b620bcf2171d55c7d1fb899f Mon Sep 17 00:00:00 2001 From: Kwok Cheung Yeung Date: Wed, 25 May 2022 12:10:03 +0100 Subject: [PATCH] Fix Fortran array-access regressions The arguments to gfc_build_array_ref were recently updated in the commit 'fortran: Use pointer arithmetic to index arrays [PR102043]', but a call from gfc_conv_array_ref used the old function signature. This went unnoticed due to the use of default arguments. This patch should be merged into 'Fortran: delinearize multi-dimensional array accesses'. 2022-05-22 Kwok Cheung Yeung gcc/fortran/ * trans-array.cc (gfc_conv_array_ref): Update arguments to gfc_build_array_ref. --- gcc/fortran/ChangeLog.omp | 5 +++++ gcc/fortran/trans-array.cc | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp index ec748026a73e..59f47d73b735 100644 --- a/gcc/fortran/ChangeLog.omp +++ b/gcc/fortran/ChangeLog.omp @@ -1,3 +1,8 @@ +2022-05-22 Kwok Cheung Yeung + + * trans-array.cc (gfc_conv_array_ref): Update arguments to + gfc_build_array_ref. + 2022-05-05 Sandra Loosemore Backport from mainline: diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index ac2bac707c16..9c4931db9162 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -4205,11 +4205,11 @@ gfc_conv_array_ref (gfc_se * se, gfc_array_ref * ar, gfc_expr *expr, gfc_array_index_type, offset, cst_offset); se->class_vptr = vptr; vptr = get_class_array_vptr (se->expr, vptr); - se->expr = gfc_build_array_ref (base, offset, cooked_decl, vptr); + se->expr = gfc_build_array_ref (base, offset, cooked_decl, false, vptr); } - else - /* Return the outermost ARRAY_REF we already built. */ - se->expr = aref; + else + /* Return the outermost ARRAY_REF we already built. */ + se->expr = aref; } -- 2.47.2