derived_constructor_comps_1.f90
来自「用于进行gcc测试」· F90 代码 · 共 58 行
F90
58 行
! { dg-do run }!! Tests fix for PR28425 in which anything other than a constructor would! not work for derived type components in a structure constructor.!! Original version sent by Vivek Rao on 18 Jan 06! Modified by Steve Kargl to remove IO!module foo_mod implicit none type :: date_m integer :: month end type date_m type :: file_info type(date_m) :: date end type file_infoend module foo_modprogram prog use foo_mod implicit none type(date_m) :: dat type(file_info) :: xx type(date_m), parameter :: christmas = date_m (12) dat = date_m(1) xx = file_info(date_m(-1)) ! This always worked - a constructor if (xx%date%month /= -1) call abort xx = file_info(dat) ! This was the original PR - a variable if (xx%date%month /= 1) call abort xx = file_info(foo(2)) ! ...functions were also broken if (xx%date%month /= 2) call abort xx = file_info(christmas) ! ...and parameters if (xx%date%month /= 12) call abortcontains function foo (i) result (ans) integer :: i type(date_m) :: ans ans = date_m(i) end function fooend program prog! { dg-final { cleanup-modules "foo_mod" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?