This patch adds TODO checks for unsupported types in the map clause for OpenMP Target directives.
Example of unsupported code:
implicit none character(len=10) :: str1, str2(5,5) type t character(len=10) :: str1, str2(5,5) end type t type(t) :: v !$omp target enter data map(to: str2(2,5)) !$omp target enter data map(to: v%str1) !$omp target enter data map(to: v%str2) !$omp target enter data map(to: v%str2(1,2)) end
This could become a bit confusing as many clauses (like privatisation) do not accept structure components and sometimes array elements as well.