intent_out_2.f90
来自「用于进行gcc测试」· F90 代码 · 共 48 行
F90
48 行
! { dg-do run }! Tests the fix for PR33554, in which the default initialization! of temp, in construct_temp, caused a segfault because it was! being done before the array offset and lower bound were! available.!! Contributed by Harald Anlauf <anlauf@gmx.de> !module gfcbug72 implicit none type t_datum character(len=8) :: mn = 'abcdefgh' end type t_datum type t_temp type(t_datum) :: p end type t_tempcontains subroutine setup () integer :: i type (t_temp), pointer :: temp(:) => NULL () do i=1,2 allocate (temp (2)) call construct_temp (temp) if (any (temp % p% mn .ne. 'ijklmnop')) call abort () deallocate (temp) end do end subroutine setup !-- subroutine construct_temp (temp) type (t_temp), intent(out) :: temp (:) if (any (temp % p% mn .ne. 'abcdefgh')) call abort () temp(:)% p% mn = 'ijklmnop' end subroutine construct_tempend module gfcbug72program test use gfcbug72 implicit none call setup ()end program test! { dg-final { cleanup-modules "gfcbug72" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?