Skip to content

Commit 0c2dce7

Browse files
authored
Merge pull request #468 from sourceryinstitute/vehre/issue-292-type-conversion-during-communication
Fix type conversion during communication for regular get, send, sendget. Fixes #292 and possibly #427
2 parents 70038c9 + 8eaa1a9 commit 0c2dce7

14 files changed

+4240
-989
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ matrix:
2424
- os: osx
2525
env:
2626
- BUILD_TYPE="InstallScript"
27-
OSX_PACKAGES="gcc@6"
27+
OSX_PACKAGES="gcc@6 cmake"
2828
GCC=6
2929
- &ubuntu
3030
os: linux

CMakeLists.txt

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ set ( CMAKE_CONFIGURATION_TYPES "Debug" "Release" "MinSizeRel" "RelWithDebInfo"
55
set ( CMAKE_BUILD_TYPE "Release"
66
CACHE STRING "Select which configuration to build." )
77
set_property ( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${CMAKE_CONFIGURATION_TYPES} )
8+
message( STATUS
9+
"
10+
============================================================
11+
Building OpenCoarrays configuration: ${CMAKE_BUILD_TYPE}
12+
============================================================
13+
")
814

915
# Add option and check environment to determine if developer tests should be run
1016
if($ENV{OPENCOARRAYS_DEVELOPER})
@@ -622,7 +628,7 @@ endfunction(add_caf_test)
622628

623629
if(opencoarrays_aware_compiler)
624630
if (CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER})
625-
message ( STATUS "Running Developer tests is enabled." )
631+
message ( STATUS "Running Developer tests is enabled. Some tests may fail for open issues." )
626632
endif()
627633
# Unit tests targeting each libcaf_mpi function, argument, and branch of code
628634
add_caf_test(initialize_mpi 2 initialize_mpi)
@@ -645,13 +651,46 @@ if(opencoarrays_aware_compiler)
645651
add_caf_test(comp_allocated_1 2 comp_allocated_1)
646652
add_caf_test(comp_allocated_2 2 comp_allocated_2)
647653
endif()
654+
655+
656+
if (gfortran_compiler)
657+
if((NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.0.0) OR (CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER}))
658+
add_caf_test(send_convert_nums 2 send_convert_nums)
659+
add_caf_test(sendget_convert_nums 3 sendget_convert_nums)
660+
add_caf_test(sendget_convert_char_array 3 sendget_convert_char_array)
661+
else()
662+
message( AUTHOR_WARNING "Skipping the following tests due to GFortran < 7.0.0 lack of compatibility:
663+
sendget_convert_nums.f90
664+
sendget_convert_char_array.f90
665+
send_convert_nums.f90")
666+
endif()
667+
if((NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.3.0) OR (CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER}))
668+
add_caf_test(send_convert_char_array 2 send_convert_char_array)
669+
else()#if((CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER}))
670+
message( AUTHOR_WARNING "Skipping the following tests to GFortran < 7.3.0 lack of compatibility:
671+
send_convert_char_array.f90")
672+
endif()
673+
endif()
674+
675+
# Pure get tests
648676
add_caf_test(get_array 2 get_array)
649677
add_caf_test(get_self 2 get_self)
650-
add_caf_test(send_array 2 send_array)
678+
add_caf_test(get_convert_nums 2 get_convert_nums)
679+
add_caf_test(get_convert_char_array 2 get_convert_char_array)
651680
add_caf_test(get_with_offset_1d 2 get_with_offset_1d)
652681
add_caf_test(whole_get_array 2 whole_get_array)
653682
add_caf_test(strided_get 2 strided_get)
683+
684+
# Pure send tests
685+
add_caf_test(send_array 2 send_array)
686+
add_caf_test(convert-before-put 3 convert-before-put)
687+
add_caf_test(send_with_vector_index 2 send_with_vector_index)
688+
689+
# Pure sendget tests
654690
add_caf_test(strided_sendget 3 strided_sendget)
691+
add_caf_test(get_with_vector_index 4 get_with_vector_index)
692+
693+
655694
add_caf_test(co_sum 4 co_sum_test)
656695
add_caf_test(co_broadcast 4 co_broadcast_test)
657696
add_caf_test(co_min 4 co_min_test)
@@ -686,10 +725,18 @@ if(opencoarrays_aware_compiler)
686725
endif()
687726

688727
# Open GCC 7 regressions
689-
if ((CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER}) OR (gfortran_compiler AND (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.0.0)))
690-
add_caf_test(convert-before-put 3 convert-before-put)
691-
add_caf_test(put-alloc-comp 2 issue-422-send)
692-
add_caf_test(get-put-alloc-comp 3 issue-422-send-get)
728+
if ((CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER}) OR
729+
(gfortran_compiler AND (
730+
(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.0.0) OR
731+
(NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.3.0)
732+
)))
733+
add_caf_test(put-allocatable-coarray-comp 2 issue-422-send)
734+
add_caf_test(get-put-allocatable-comp 3 issue-422-send-get)
735+
else()
736+
message( AUTHOR_WARNING
737+
"Skipping regressions in GFortran 7.0:
738+
put-allocatable-coarray-comp (issue-422)
739+
get-put-allocatable-comp (issue-422)")
693740
endif()
694741

695742
add_caf_test(allocatable_p2p_event_post 4 allocatable_p2p_event_post)

0 commit comments

Comments
 (0)