Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/alloc_comp_constructor_6.f90 @ 128:fe568345ddd5
fix CbC-example
author | mir3636 |
---|---|
date | Wed, 11 Apr 2018 19:32:28 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
! { dg-do run } ! { dg-options "-fdefault-integer-8 -O2" } ! Tests the fix for PR34143, where the implicit type ! conversion in the derived type constructor would fail, ! when 'yy' was not allocated. The testscase is an ! extract from alloc_comp_constructor.f90. ! ! Reported by Thomas Koenig <tkoenig@gcc.gnu.org> ! Program test_constructor implicit none type :: thytype integer(4) :: a(2,2) end type thytype type :: mytype integer(4), allocatable :: a(:, :) type(thytype), allocatable :: q(:) end type mytype integer, allocatable :: yy(:,:) type (thytype), allocatable :: bar(:) call non_alloc call alloc contains subroutine non_alloc type (mytype) :: x x = mytype(yy, bar) if (allocated (x%a) .or. allocated (x%q)) call abort end subroutine non_alloc subroutine alloc type (mytype) :: x allocate (yy(2,2)) allocate (bar(2)) yy = reshape ([10,20,30,40],[2,2]) bar = thytype (reshape ([1,2,3,4],[2,2])) x = mytype(yy, bar) if (.not.allocated (x%a) .or. .not.allocated (x%q)) call abort end subroutine alloc end program test_constructor