Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/init_flag_13.f90 @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! { dg-options "-finit-local-zero -finit-derived -fdump-tree-original" } ! ! Make sure -finit-derived initializes components of local derived type ! variables to zero with -finit-local-zero. ! subroutine dummy(i1,r1,c1,l1,i2,r2,c2,l2) implicit none integer, intent(in) :: i1 real, intent(in) :: r1 character, intent(in) :: c1 logical, intent(in) :: l1 integer, intent(out) :: i2 real, intent(out) :: r2 character, intent(out) :: c2 logical, intent(out) :: l2 end subroutine type t2 integer i2 real r2 character c2 logical l2 end type type t1 logical l1 real r1 character c1 integer i1 type (t2) y end type type (t1) :: x call dummy (x%i1, x%r1, x%c1, x%l1, x%y%i2, x%y%r2, x%y%c2, x%y%l2) end ! We expect to see each component initialized exactly once in MAIN. ! NB. the "once" qualifier also tests that the dummy variables aren't ! given an extraneous initializer. ! { dg-final { scan-tree-dump-times "i1= *0" 1 "original" } } ! { dg-final { scan-tree-dump-times "r1= *0" 1 "original" } } ! { dg-final { scan-tree-dump-times "c1= *\"\"" 1 "original" } } ! { dg-final { scan-tree-dump-times "l1= *0" 1 "original" } } ! { dg-final { scan-tree-dump-times "i2= *0" 1 "original" } } ! { dg-final { scan-tree-dump-times "r2= *0" 1 "original" } } ! { dg-final { scan-tree-dump-times "c2= *\"\"" 1 "original" } } ! { dg-final { scan-tree-dump-times "l2= *0" 1 "original" } }