blob: 9a0c33461f81c76672127b6e0333383810e0fb19 [file] [log] [blame]
! { dg-do link { target offload_target_any } }
! { dg-additional-sources requires-1-aux.f90 }
! Check diagnostic by device-compiler's lto1.
! Other file uses: 'requires unified_address'.
module m
integer :: a(10)
interface
subroutine foo
end
end interface
end
program main
!$omp requires unified_shared_memory
!$omp target
a = 0
!$omp end target
call foo ()
end
! { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 }
! { dg-note {requires-1\.f90' has 'unified_shared_memory'} {} { target *-*-* } 0 }
! TODO We're currently not streaming location information for the OpenMP
! directives used in 'requires-7-aux.c', so we're not seeing the source file
! name here (but a temporary '*.o' instead; for details, see
! <https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598011.html>):
! { dg-note {requires-1-aux\.f90' has 'unified_address'} {} { xfail *-*-* } 0 }
! ..., but we may still verify that the rest of the diagnostic is correct:
! { dg-note {' has 'unified_address'} {} { target *-*-* } 0 }
! { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" }