interface_5.f90

来自「用于进行gcc测试」· F90 代码 · 共 57 行

F90
57
字号
! { dg-do compile }! Tests the fix for the interface bit of PR29975, in which the! interfaces bl_copy were rejected as ambiguous, even though! they import different specific interfaces.  In this testcase,! it is verified that ambiguous specific interfaces are caught.!! Contributed by Joost VandeVondele <jv244@cam.ac.uk> and! simplified by Tobias Burnus <burnus@gcc.gnu.org>!SUBROUTINE RECOPY(N, c)  real, INTENT(IN) :: N  character(6) :: c  print *, n  c = "recopy"END SUBROUTINE RECOPYMODULE f77_blas_extraPUBLIC :: BL_COPYINTERFACE BL_COPY  MODULE PROCEDURE SDCOPYEND INTERFACE BL_COPYCONTAINS   SUBROUTINE SDCOPY(N, c)    REAL, INTENT(IN) :: N    character(6) :: c    print *, n    c = "sdcopy"   END SUBROUTINE SDCOPYEND MODULE f77_blas_extraMODULE f77_blas_genericINTERFACE BL_COPY   SUBROUTINE RECOPY(N, c)    real, INTENT(IN) :: N    character(6) :: c   END SUBROUTINE RECOPYEND INTERFACE BL_COPYEND MODULE f77_blas_genericsubroutine i_am_ok  USE f77_blas_extra ! { dg-warning "ambiguous interfaces" }  USE f77_blas_generic  character(6) :: chr  chr = ""  if (chr /= "recopy") call abort ()  end subroutine i_am_okprogram main  USE f77_blas_extra ! { dg-error "Ambiguous interfaces" }  USE f77_blas_generic  character(6) :: chr  chr = ""  call bl_copy(1.0, chr)  if (chr /= "recopy") call abort ()  end program main! { dg-final { cleanup-modules "f77_blas_generic f77_blas_extra" } }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?