This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/68893] [Coarray] Wrong result with -fcoarray=single and EVENTS


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;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]