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