This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/68893] [Coarray] Wrong result with -fcoarray=single and EVENTS
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 14 Dec 2015 15:21:02 +0000
- Subject: [Bug fortran/68893] [Coarray] Wrong result with -fcoarray=single and EVENTS
- Auto-submitted: auto-generated
- References: <bug-68893-4 at http dot gcc dot gnu dot org/bugzilla/>
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;