! { dg-do compile } module declare_target_2 !$omp declare target to (a) link (a) ! { dg-error "TO clause and later in LINK" } !$omp declare target (b) !$omp declare target link (b) ! { dg-error "TO clause and later in LINK" } !$omp declare target link (f) !$omp declare target to (f) ! { dg-error "LINK clause and later in TO" } !$omp declare target(c, c) ! { dg-error "mentioned multiple times in clauses of the same" } !$omp declare target to (d) to (d) ! { dg-error "mentioned multiple times in clauses of the same" } !$omp declare target link (e, e) ! { dg-error "mentioned multiple times in clauses of the same" } integer, save :: a, b, c, d, e, f interface integer function f1 (a) !$omp declare target (f1) ! { dg-error "form without clauses is allowed in interface block" } integer :: a end function end interface interface integer function f2 (a) !$omp declare target to (f2) ! { dg-error "form without clauses is allowed in interface block" } integer :: a end function end interface end subroutine bar !$omp declare target link (baz) ! { dg-error "isn.t SAVEd" } call baz ! { dg-error "attribute conflicts" } end subroutine subroutine foo ! { dg-error "attribute conflicts" } integer :: g, h, i, j, k, l, m, n, o, p, q common /c1/ g, h common /c2/ i, j common /c3/ k, l common /c4/ m, n common /c5/ o, p, q !$omp declare target to (g) ! { dg-error "is an element of a COMMON block" } !$omp declare target link (foo) !$omp declare target to (/c2/) !$omp declare target (/c2/) !$omp declare target to(/c2/) !$omp declare target link(/c2/) ! { dg-error "TO clause and later in LINK" } !$omp declare target link(/c3/) !$omp declare target (/c3/) ! { dg-error "LINK clause and later in TO" } !$omp declare target (/c4/, /c4/) ! { dg-error "mentioned multiple times in clauses of the same" } !$omp declare target to (/c4/) to(/c4/) ! { dg-error "mentioned multiple times in clauses of the same" } !$omp declare target link (/c5/) !$omp declare target link (/c5/) !$omp declare target link(/c5/)link(/c5/) ! { dg-error "mentioned multiple times in clauses of the same" } !$omp declare target link(/c5/,/c5/) ! { dg-error "mentioned multiple times in clauses of the same" } end subroutine