1! { dg-do compile } 2! { dg-options "-fcoarray=single" } 3! 4! 5! CO_SUM/CO_MIN/CO_MAX 6! 7program test 8 implicit none 9 intrinsic co_max 10 intrinsic co_min 11 intrinsic co_sum 12 integer :: val, i 13 character(len=30) :: errmsg 14 integer(8) :: i8 15 character(len=19, kind=4) :: msg4 16 17 call co_sum("abc") ! { dg-error "must have a numeric type" } 18 call co_max(cmplx(1.0,0.0)) ! { dg-error "shall be of type integer, real or character" } 19 call co_min(cmplx(0.0,1.0)) ! { dg-error "shall be of type integer, real or character" } 20 21 call co_sum(1) ! { dg-error "must be a variable" } 22 call co_min("abc") ! { dg-error "must be a variable" } 23 call co_max(2.3) ! { dg-error "must be a variable" } 24 25 call co_sum(val, result_image=[1,2]) ! { dg-error "must be a scalar" } 26 call co_sum(val, result_image=1.0) ! { dg-error "must be INTEGER" } 27 call co_min(val, stat=[1,2]) ! { dg-error "must be a scalar" } 28 call co_min(val, stat=1.0) ! { dg-error "must be INTEGER" } 29 call co_min(val, stat=1) ! { dg-error "must be a variable" } 30 call co_min(val, stat=i, result_image=1) ! OK 31 call co_max(val, stat=i, errmsg=errmsg, result_image=1) ! OK 32 call co_max(val, stat=i, errmsg=[errmsg], result_image=1) ! { dg-error "must be a scalar" } 33 call co_max(val, stat=i, errmsg=5, result_image=1) ! { dg-error "must be CHARACTER" } 34 call co_sum(val, errmsg="abc") ! { dg-error "must be a variable" } 35 36 call co_sum(val, stat=i8) ! { dg-error "The stat= argument at .1. must be a kind=4 integer variable" } 37 call co_min(val, errmsg=msg4) ! { dg-error "The errmsg= argument at .1. must be a default-kind character variable" } 38end program test 39