https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101602

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Created attachment 60279
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60279&action=edit
Draft patch - see comment 6 for known issues

... this includes REDUCE.
Note that no real concurrency except for SIMD / vectorization is supported so
far. But in particular:

* * *

NOTE: The current implementation does not handle LOCAL or LOCAL_INIT,
which fail with 'sorry, unimplemented'.

* * *

Attached is a draft patch which adds basic support for LOCAL and LOCAL_INIT;
however, the current implementation does not handle:

(A) LOCAL and default values of derived-types
    -> testsuite/gfortran.dg/do_concurrent_12.f90
    something like deferred initialization seems to be missing

(B) (no testcases) assumed-size arrays, which need to be handle in a
    special way.

Thinking about it, maybe using
   gfc_omp_clause_default_ctor / gfc_omp_clause_copy_ctor
instead or in additional could make sense here. And if there are issues,
possibly those should be improved as well.

Reply via email to