Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion app/native-multi-image.F90
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,9 @@
#ifndef HAVE_EVENT_POST_WAIT
#define HAVE_EVENT_POST_WAIT HAVE_EVENT
#endif
#ifndef HAVE_EVENT_POST_WAIT_ARRAY
#define HAVE_EVENT_POST_WAIT_ARRAY HAVE_EVENT
#endif
#ifndef HAVE_EVENT_QUERY
#define HAVE_EVENT_QUERY HAVE_EVENT
#endif
Expand Down Expand Up @@ -408,6 +411,7 @@ program native_multi_image
# if HAVE_EVENT_TYPE
type(event_type), target :: default_event[*]
type(event_type) :: test_event[*]
type(event_type), allocatable :: test_event_arr(:)[:]
# endif
# if HAVE_NOTIFY_TYPE
type(notify_type), target :: default_notify[*]
Expand Down Expand Up @@ -776,13 +780,31 @@ program native_multi_image
# if HAVE_EVENT_POST_WAIT
STATUS("Testing event post / event wait...")
if (THIS_IMAGE() == 1) then
!event post (test_event) ! currently broken
event post (test_event)
event post (test_event[1])
event wait (test_event)
event wait (test_event, until_count=NUM_IMAGES())
else
event post (test_event[1])
end if
# endif
# if HAVE_EVENT_POST_WAIT_ARRAY
STATUS("Testing event post / event wait (allocatable array)...")
allocate(test_event_arr(4)[*])
if (THIS_IMAGE() == 1) then
do i = 1, size(test_event_arr)
event post (test_event_arr(i))
event post (test_event_arr(i)[1])
event wait (test_event_arr(i))
event wait (test_event_arr(i), until_count=NUM_IMAGES())
end do
else
do i = 1, size(test_event_arr)
event post (test_event_arr(i)[1])
end do
end if
deallocate(test_event_arr)
# endif

# if HAVE_LOCK_TYPE
CHECK_TYPE_COMPLIANCE(LOCK_TYPE, default_lock, .false., 64)
Expand Down
7 changes: 4 additions & 3 deletions app/print-native-flags.F90
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ subroutine write_flags
call no("COARRAY_LOCAL_ACCESS")
call no("PUTGET")

call no("EVENT")
call yes("EVENT_TYPE")
call yes("EVENT")
call no("EVENT_QUERY")
call no("LOCK")
call yes("LOCK_TYPE")
call no("NOTIFY")
call yes("NOTIFY_TYPE")

call set("-DIGNORE_FAILURES=6") ! type checks for event, notify, lock
call set("-DIGNORE_FAILURES=4") ! type checks for notify, lock
# endif
#elif __LFORTRAN__
# if __LFORTRAN_MAJOR__ == 0 && __LFORTRAN_MINOR__ <= 63
Expand Down Expand Up @@ -155,6 +155,7 @@ subroutine write_flags
# endif
call set("-DTYPES_PRIF_COMPLIANT=0")
call no("COSHAPE") ! missing F2018 feature
call no("CO_BROADCAST_DERIVED_POD") ! fails to broadcast the entire array of derived type
call set("-DIGNORE_FAILURES=2") ! CO_MIN(character) get wrong answer with > 9 images
# endif
#elif __INTEL_COMPILER
Expand Down
3 changes: 2 additions & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -887,7 +887,8 @@ info)
echo MAKE=\$MAKE
echo FC=\$FC
echo CC=\$CC
echo FFLAGS=\$FFLAGS
echo FFLAGS=\$RAWFLAGS
echo NATIVEFLAGS=\$NATIVEFLAGS
echo CFLAGS=\$CFLAGS
echo LDFLAGS=\$LDFLAGS
grep -e link \$SRCDIR/fpm.toml
Expand Down
Loading