auto_char_dummy_array_1.f90
来自「linux下编程用 编译软件」· F90 代码 · 共 57 行
F90
57 行
! { dg-do run }! This tests the fix for pr15809 in which automatic character length,! dummy, pointer arrays were broken.!! contributed by Paul Thomas <pault@gcc.gnu.org>!module global character(12), dimension(2), target :: tend module globalprogram oh_no_not_pr15908_again character(12), dimension(:), pointer :: ptr call a (ptr, 12) if (.not.associated (ptr) ) call abort () if (any (ptr.ne."abc")) call abort () ptr => null () ! ptr points to 't' here. allocate (ptr(3)) ptr = "xyz" call a (ptr, 12) if (.not.associated (ptr)) call abort () if (any (ptr.ne."lmn")) call abort () call a (ptr, 0) if (associated (ptr)) call abort ()contains subroutine a (p, l) use global character(l), dimension(:), pointer :: p character(l), dimension(3) :: s s = "lmn" if (l.ne.12) then deallocate (p) ! ptr was allocated in main. p => null () return end if if (.not.associated (p)) then t = "abc" p => t else if (size (p,1).ne.3) call abort () if (any (p.ne."xyz")) call abort () p = s end if end subroutine aend program oh_no_not_pr15908_again
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?