15bbb63bdSPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 2*4065d985SValentin Clement (バレンタイン クレメン)subroutine s(n,m,a,l,c) 35bbb63bdSPeter Klausler integer, intent(in) :: n 416975ad2SValentin Clement (バレンタイン クレメン) integer, device, intent(in) :: m(n) 516975ad2SValentin Clement (バレンタイン クレメン) real, device, intent(in) :: a(n) 616975ad2SValentin Clement (バレンタイン クレメン) logical, device, intent(in) :: l(n) 75bbb63bdSPeter Klausler integer j, mr 85bbb63bdSPeter Klausler real ar 95bbb63bdSPeter Klausler logical lr 10*4065d985SValentin Clement (バレンタイン クレメン) complex :: cr 11*4065d985SValentin Clement (バレンタイン クレメン) complex, device, intent(in) :: c(n) 125bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (+:mr,ar) 135bbb63bdSPeter Klausler do j=1,n; mr = mr + m(j); ar = ar + a(j); end do 145bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 155bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (+:lr) 165bbb63bdSPeter Klausler do j=1,n; end do 175bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (*:mr,ar) 185bbb63bdSPeter Klausler do j=1,n; mr = mr * m(j); ar = ar * a(j); end do 195bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 205bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (*:lr) 215bbb63bdSPeter Klausler do j=1,n; end do 225bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (max:mr,ar) 235bbb63bdSPeter Klausler do j=1,n; mr = max(mr,m(j)); ar = max(ar,a(j)); end do 245bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 255bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (max:lr) 265bbb63bdSPeter Klausler do j=1,n; end do 275bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (min:mr,ar) 285bbb63bdSPeter Klausler do j=1,n; mr = min(mr,m(j)); ar = min(ar,a(j)); end do 295bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 305bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (min:lr) 315bbb63bdSPeter Klausler do j=1,n; end do 325bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (iand:mr) 335bbb63bdSPeter Klausler do j=1,n; mr = iand(mr,m(j)); end do 345bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 355bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 365bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (iand:ar,lr) 375bbb63bdSPeter Klausler do j=1,n; end do 385bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (ieor:mr) 395bbb63bdSPeter Klausler do j=1,n; mr = ieor(mr,m(j)); end do 405bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 415bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 425bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (ieor:ar,lr) 435bbb63bdSPeter Klausler do j=1,n; end do 445bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (ior:mr) 455bbb63bdSPeter Klausler do j=1,n; mr = ior(mr,m(j)); end do 465bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 475bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type LOGICAL(4) 485bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (ior:ar,lr) 495bbb63bdSPeter Klausler do j=1,n; end do 505bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.and.:lr) 515bbb63bdSPeter Klausler do j=1,n; lr = lr .and. l(j); end do 525bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type INTEGER(4) 535bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 545bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.and.:mr,ar) 555bbb63bdSPeter Klausler do j=1,n; end do 565bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.eqv.:lr) 575bbb63bdSPeter Klausler do j=1,n; lr = lr .eqv. l(j); end do 585bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type INTEGER(4) 595bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 605bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.eqv.:mr,ar) 615bbb63bdSPeter Klausler do j=1,n; end do 625bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.neqv.:lr) 635bbb63bdSPeter Klausler do j=1,n; lr = lr .neqv. l(j); end do 645bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type INTEGER(4) 655bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 665bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.neqv.:mr,ar) 675bbb63bdSPeter Klausler do j=1,n; end do 685bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.or.:lr) 695bbb63bdSPeter Klausler do j=1,n; lr = lr .or. l(j); end do 705bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type INTEGER(4) 715bbb63bdSPeter Klausler!ERROR: !$CUF KERNEL DO REDUCE operation is not acceptable for a variable with type REAL(4) 725bbb63bdSPeter Klausler!$cuf kernel do <<<*,*>>> reduce (.or.:mr,ar) 735bbb63bdSPeter Klausler do j=1,n; end do 74*4065d985SValentin Clement (バレンタイン クレメン)!$cuf kernel do <<<*,*>>> reduce (+:cr) ! ok complex type 75*4065d985SValentin Clement (バレンタイン クレメン) do j=1,n; cr = cr + c(j); end do 765bbb63bdSPeter Klauslerend 77