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

            Bug ID: 93787
           Summary: Rejects non-ambigous specific in generic –
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
  Target Milestone: ---

The following can be found in libgomp/openacc_lib.h – or actually not, it
currently uses (once) "async_" to avoid the bogus error message:

Error: Ambiguous interfaces in generic interface 'acc_copyout_async' for
‘acc_copyout_async_32_h’ at (1) and ‘acc_copyout_async_array_h’ at (2)

One subroutine has two and the other three arguments – none of which are
optional. Hence, one would expected that the procedure call is nonambiguous.

I think it goes wrong in interface.c's count_types_test.


      interface acc_copyout_async
        subroutine acc_copyout_async_32_h (a, len, async)
          use iso_c_binding, only: c_int32_t
          type (*), dimension (*) :: a
          integer (c_int32_t) len
          integer (4) async
        end subroutine

        subroutine acc_copyout_async_array_h (a, async)
          type (*), dimension (..), contiguous :: a
          integer (4) async
        end subroutine
      end interface
      end

Reply via email to