On Mon, Jan 10, 2022 at 11:01:46PM +0800, Chung-Lin Tang wrote: > Forgot to attach the patch, here it is :P > > On 2022/1/10 10:59 PM, Chung-Lin Tang wrote: > > For cases like: > > #pragma omp target update from(s[0].a[0:1]) > > > > The handling in [c_]finish_omp_clauses was only peeling off ARRAY_REF once > > before the loop handling COMPONENT_REF, and snagged when the base of the > > component_ref is an array access. This adds the handling there for both C > > and C++ front-ends. > > > > (ICE started to happen after > > https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=6c0399378e77d029 > > where map/from/to clause syntax was relaxed to allow more stuff) > > > > Tested without regressions, okay to commit? > > > > Thanks, > > Chung-Lin > > > > PR c++/103705 > > > > gcc/c/ChangeLog: > > > > * c-typeck.c (c_finish_omp_clauses): Also continue peeling off of > > outer node for ARRAY_REFs. > > > > gcc/cp/ChangeLog: > > > > * semantics.c (finish_omp_clauses): Also continue peeling off of > > outer node for ARRAY_REFs. > > > > gcc/testsuite/ChangeLog: > > > > * c-c++-common/gomp/pr103705.c: New test.
Ok, thanks. Jakub