func_derived_2.f90

来自「linux下编程用 编译软件」· F90 代码 · 共 43 行

F90
43
字号
! { dg-do run }! This tests the "virtual fix" for PR19561, where functions returning! pointers to derived types were not generating correct code.  This! testcase is based on a simplified example in the PR discussion.!! Submitted by Paul Thomas  pault@gcc.gnu.org! Slightly extended by Tobias Schlütermodule mpoint  type           ::       mytype    integer      ::       i  end type mytypecontains  function get (a) result (b)    type (mytype), target   ::      a    type (mytype), pointer  ::      b    b => a  end function get  function get2 (a)    type (mytype), target   ::      a    type (mytype), pointer  ::      get2    get2 => a  end function get2end module mpointprogram func_derived_2  use mpoint  type (mytype), target  ::       x  type (mytype), pointer ::       y  x = mytype (42)  y => get (x)  if (y%i.ne.42) call abort ()  x = mytype (112)  y => get2 (x)  if (y%i.ne.112) call abort ()end program func_derived_2

⌨️ 快捷键说明

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