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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
    event post ( event_value_has_been_set)
    call event_query (event_value_has_been_set, cnt)

translates into:

  integer(kind=4) event_value_has_been_set;

  event_value_has_been_set = event_value_has_been_set + 1;
  cnt = event_value_has_been_set;

Expected: The static variable (must be a coarray and hence in static memory) is
initialized by 0.



Using an allocatable variable, the initialization works:

  type(event_type), allocatable :: event_value_has_been_set[:]
  allocate(event_value_has_been_set[*])

translates into

        event_value_has_been_set.data = __builtin_malloc (4);
      ...
    *event_value_has_been_set.data = 0;  // <<<< 0 initialization

    *event_value_has_been_set.data = *event_value_has_been_set.data + 1;
    cnt = *event_value_has_been_set.data;

Reply via email to