Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/derived_constructor_comps_1.f90 @ 118:fd00160c1b76
ifdef TARGET_64BIT
author | mir3636 |
---|---|
date | Tue, 27 Feb 2018 15:01:35 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
! { 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_info end module foo_mod program 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 abort contains function foo (i) result (ans) integer :: i type(date_m) :: ans ans = date_m(i) end function foo end program prog