interface_14.f90
来自「用于进行gcc测试」· F90 代码 · 共 74 行
F90
74 行
! { dg-do compile }! Checks the fix for a regression PR32526, which was caused by! the patch for PR31494. The problem here was that the symbol! 'new' was determined to be ambiguous.!! Contributed by Michael Richmond <michael.a.richmond@nasa.gov>! module P_Class implicit none private :: init_Personnel interface new module procedure init_Personnel end interface contains subroutine init_Personnel(this) integer, intent (in) :: this print *, "init personnel", this end subroutine init_Personnel end module P_Class module S_Class use P_Class implicit none private :: init_Student type Student private integer :: personnel = 1 end type Student interface new module procedure init_Student end interface contains subroutine init_Student(this) type (Student), intent (in) :: this call new(this%personnel) end subroutine init_Student end module S_Class module T_Class use P_Class implicit none private :: init_Teacher type Teacher private integer :: personnel = 2 end type Teacher interface new module procedure init_Teacher end interface contains subroutine init_Teacher(this) type (Teacher), intent (in) :: this call new(this%personnel) end subroutine init_Teacher end module T_Class module poly_Class use S_Class use T_Class end module poly_Class module D_Class use poly_Class end module D_Class use D_Class type (Teacher) :: a type (Student) :: b call new (a) call new (b) end! { dg-final { cleanup-modules "P_class S_Class T_Class D_Class poly_Class" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?