In OG12 commit
a6c1eccffb161130351d891dc87f5afe54f8075c,
"Fortran/OpenMP: Support mapping of DT with allocatable components"
the size of the addr/sizes/kind arrays was passed as 4th argument.
However, OpenACC uses >3 arguments for its own purpose, e.g. to
handle noncontiguous arrays by passing an array descriptor there.
This patch restores the previous behaviour for OpenACC, fixing
testcases like libgomp.oacc-c-c++-common/noncontig_array-1.c.
gcc/
* omp-expand.cc (expand_omp_target): Fix OpenACC in case there
are more than 3 arguments to the builtin function.
+2022-10-19 Tobias Burnus <tobias@codesourcery.com>
+
+ * omp-expand.cc (expand_omp_target): Fix OpenACC in case there
+ are more than 3 arguments to the builtin function.
+
2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
Backported from master:
t3 = t2;
t4 = t2;
}
- else if (TREE_VEC_LENGTH (t) == 3)
+ else if (TREE_VEC_LENGTH (t) == 3 || is_gimple_omp_oacc (entry_stmt))
{
t1 = TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (TREE_VEC_ELT (t, 1))));
t1 = size_binop (PLUS_EXPR, t1, size_int (1));