https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105466

            Bug ID: 105466
           Summary: [OpenMP] declare simd(proc-name)  rejected when
                    proc-name = current procedure
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: openmp, rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
  Target Milestone: ---

Found in the OpenMP 5.2 Examples Document. The file is omp_5.2, however, that's
because of the linear clause. The issue of this PR also occurs for OpenMP 4.5
code:

   subroutine add_one2(p)
     !$omp declare simd(add_one2) linear(p: ref) simdlen(8)
     implicit none
     integer :: p

fails with:

./SIMD/sources/linear_modifier.1.f90:13:31:

   13 |    !$omp declare simd(add_one2) linear(p: ref) simdlen(8)
      |                               1
Error: Symbol ‘add_one2’ at (1) has already been host associated

but seems to be valid. Here 'add_one2' is both the proc-name in the declare
simd as the well as the procedure name in which the "declare simd" appears.

Reply via email to