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 + -
显示快捷键?