module_equivalence_3.f90

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

F90
39
字号
! { dg-do run }! This checks the fix for PR32103 in which not using one member! of an equivalence group would cause all memory of the equivalence! to be lost and subsequent incorrect referencing of the remaining! members. !! Contributed by Toon Moene <toon@moene.indiv.nluug.nl> !module aap   real :: a(5) = (/1.0,2.0,3.0,4.0,5.0/)    real :: b(3)   real :: d(5) = (/1.0,2.0,3.0,4.0,5.0/)    equivalence (a(3),b(1))end module aap  use aap, only : b  call foo  call bar!  call foobarcontains  subroutine foo    use aap, only : c=>b    if (any(c .ne. b)) call abort ()  end subroutine  subroutine bar    use aap, only : a    if (any(a(3:5) .ne. b)) call abort ()  end subroutine! Make sure that bad things do not happen if we do not USE a or b.  subroutine foobar    use aap, only : d    if (any(d(3:5) .ne. b)) call abort ()  end subroutineend! { dg-final { cleanup-modules "aap" } }

⌨️ 快捷键说明

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