Skip to content

Fix using co_reduce(...operator=...) for F2018. #746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 14, 2022
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
6 changes: 3 additions & 3 deletions src/tests/regression/reported/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
caf_compile_executable(co_reduce-factorial issue-172-wrong-co_reduce.f90)
caf_compile_executable(co_reduce-factorial-int8 issue-172-wrong-co_reduce-int8.f90)
caf_compile_executable(co_reduce-factorial-int64 issue-172-wrong-co_reduce-int64.f90)
caf_compile_executable(co_reduce-factorial issue-172-wrong-co_reduce.F90)
caf_compile_executable(co_reduce-factorial-int8 issue-172-wrong-co_reduce-int8.F90)
caf_compile_executable(co_reduce-factorial-int64 issue-172-wrong-co_reduce-int64.F90)
caf_compile_executable(source-alloc-sync issue-243-source-allocation-no-sync.f90)
caf_compile_executable(convert-before-put issue-292-convert-type-before-put.f90)
caf_compile_executable(issue-422-send issue-422-send.F90)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ program co_reduce_factorial_int64
integer(kind=8) :: np
value = this_image ( )
np = num_images ( )
#if defined(__GNUC__) && __GNUC__ < 12
call co_reduce ( value, result_image = 1, operator = myProd )
#else
call co_reduce ( value, result_image = 1, operation = myProd )
#endif
!! value[k /= 1] undefined, value[ k == 1 ] should equal $n!$ where $n$ is `num_images()`
if ( this_image ( ) == 1 ) then
write ( * , '( "Number of images = ", g0 )' ) num_images ( )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ program co_reduce_factorial_int8
integer(kind=1) :: np
np = num_images ( )
value = this_image ( )
#if defined(__GNUC__) && __GNUC__ < 12
call co_reduce ( value, result_image = 1, operator = myProd )
#else
call co_reduce ( value, result_image = 1, operation = myProd )
#endif
!! value[k /= 1] undefined, value[ k == 1 ] should equal $n!$ where $n$ is `num_images()`
if ( this_image ( ) == 1 ) then
write ( * , '( "Number of images = ", g0 )' ) num_images ( )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ program co_reduce_factorial
integer :: value[ * ] !! Each image stores their image number here
integer :: k
value = this_image ( )
#if defined(__GNUC__) && __GNUC__ < 12
call co_reduce ( value, result_image = 1, operator = myProd )
#else
call co_reduce ( value, result_image = 1, operation = myProd )
#endif
!! value[k /= 1] undefined, value[ k == 1 ] should equal $n!$ where $n$ is `num_images()`
if ( this_image ( ) == 1 ) then
write ( * , '( "Number of images = ", g0 )' ) num_images ( )
Expand Down
2 changes: 1 addition & 1 deletion src/tests/unit/collectives/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ endif()
caf_compile_executable(co_min_test co_min.F90)
caf_compile_executable(co_max_test co_max.F90)
caf_compile_executable(co_reduce_test co_reduce.F90)
caf_compile_executable(co_reduce_res_im co_reduce_res_im.f90)
caf_compile_executable(co_reduce_res_im co_reduce_res_im.F90)
caf_compile_executable(co_reduce_string co_reduce_string.f90)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ program co_reduce_res_im
integer :: value[ * ] !! Each image stores their image number here
integer :: k
value = this_image ( )
#if defined(__GNUC__) && __GNUC__ < 12
call co_reduce ( value, result_image = 1, operator = myProd )
#else
call co_reduce ( value, result_image = 1, operation = myProd )
#endif
!! value[k /= 1] undefined, value[ k == 1 ] should equal $n!$ where $n$ is `num_images()`
if ( this_image ( ) == 1 ) then
write ( * , '( "Number of images = ", g0 )' ) num_images ( )
Expand Down