! { dg-do compile } ! { dg-options "-fopenmp" } program task_detach_1 use iso_c_binding, only: c_intptr_t implicit none integer, parameter :: omp_event_handle_kind = c_intptr_t integer (kind=omp_event_handle_kind) :: x, y integer(1) :: z !$omp task detach(x) detach(y) ! { dg-error "Failed to match clause at \\\(1\\\)" } !$omp end task ! { dg-error "Unexpected !\\\$OMP END TASK statement at \\\(1\\\)" } !$omp task mergeable detach(x) ! { dg-error "'DETACH' clause at \\\(1\\\) must not be used together with 'MERGEABLE' clause" } !$omp end task !$omp task detach(x) mergeable ! { dg-error "'DETACH' clause at \\\(1\\\) must not be used together with 'MERGEABLE' clause" } !$omp end task !$omp task detach(z) ! { dg-error "'z' at \\\(1\\\) should be a scalar of type integer\\\(kind=omp_event_handle_kind\\\)" } !$omp end task !$omp task detach (x) firstprivate (x) ! { dg-error "DETACH event handle 'x' in FIRSTPRIVATE clause at \\\(1\\\)" } !$omp end task !$omp task detach (x) shared (x) ! { dg-error "DETACH event handle 'x' in SHARED clause at \\\(1\\\)" } !$omp end task end program