view gcc/testsuite/gfortran.dg/goacc/list.f95 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 1830386684a0
children
line wrap: on
line source

! { dg-do compile } 
! { dg-additional-options "-fmax-errors=100" } 

program test 
  implicit none

  integer :: i, j, k, l, a(10)
  common /b/ k
  real, pointer :: p1 => NULL()
  complex :: c, d(10)

  !$acc parallel private(i)
  !$acc end parallel

  !$acc parallel private(a)
  !$acc end parallel

  !$acc parallel private(c, d)
  !$acc end parallel

  !$acc parallel private(i, j, k, l, a)
  !$acc end parallel  

  !$acc parallel private (i) private (j)
  !$acc end parallel

  !$acc parallel private ! { dg-error "Failed to match clause" }

  !$acc parallel private() ! { dg-error "Syntax error" }

  !$acc parallel private(a(1:3)) ! { dg-error "Syntax error" }

  !$acc parallel private(10) ! { dg-error "Syntax error" }

  !$acc parallel private(/b/, /b/) ! { dg-error "present on multiple clauses" }
  !$acc end parallel

  !$acc parallel private(i, j, i) ! { dg-error "present on multiple clauses" }
  !$acc end parallel

  !$acc parallel private(p1) 
  !$acc end parallel

  !$acc parallel firstprivate(i)
  !$acc end parallel

  !$acc parallel firstprivate(c, d)
  !$acc end parallel

  !$acc parallel firstprivate(a)
  !$acc end parallel

  !$acc parallel firstprivate(i, j, k, l, a)
  !$acc end parallel  

  !$acc parallel firstprivate (i) firstprivate (j)
  !$acc end parallel

  !$acc parallel firstprivate ! { dg-error "Failed to match clause" }

  !$acc parallel firstprivate() ! { dg-error "Syntax error" }

  !$acc parallel firstprivate(a(1:3)) ! { dg-error "Syntax error" }

  !$acc parallel firstprivate(10) ! { dg-error "Syntax error" }

  !$acc parallel firstprivate (/b/, /b/) ! { dg-error "present on multiple clauses" }
  !$acc end parallel

  !$acc parallel firstprivate (i, j, i) ! { dg-error "present on multiple clauses" }
  !$acc end parallel

  !$acc parallel firstprivate(p1) 
  !$acc end parallel

  !$acc parallel private (i) firstprivate (i) ! { dg-error "present on multiple clauses" }
  !$acc end parallel

  !$acc host_data use_device(i) ! { dg-error "neither a POINTER nor an array" }
  !$acc end host_data

  !$acc host_data use_device(c, d) ! { dg-error "neither a POINTER nor an array" }
  !$acc end host_data

  !$acc host_data use_device(a)
  !$acc end host_data

  !$acc host_data use_device(i, j, k, l, a) ! { dg-error "neither a POINTER nor an array" }
  !$acc end host_data  

  !$acc host_data use_device (i) use_device (j) ! { dg-error "neither a POINTER nor an array" }
  !$acc end host_data

  !$acc host_data use_device ! { dg-error "Failed to match clause" }

  !$acc host_data use_device() ! { dg-error "Syntax error" }

  !$acc host_data use_device(a(1:3)) ! { dg-error "Syntax error" }

  !$acc host_data use_device(10) ! { dg-error "Syntax error" }

  !$acc host_data use_device(/b/, /b/)
  !$acc end host_data
  ! { dg-error "neither a POINTER nor an array" "" { target *-*-* } 102 }
  ! { dg-error "present on multiple clauses" "" { target *-*-* } 102 }

  !$acc host_data use_device(i, j, i)
  !$acc end host_data
  ! { dg-error "neither a POINTER nor an array" "" { target *-*-* } 107 }
  ! { dg-error "present on multiple clauses" "" { target *-*-* } 107 }

  !$acc host_data use_device(p1)
  !$acc end host_data

end program test