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