diff gcc/testsuite/gfortran.dg/init_flag_1.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/init_flag_1.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,57 @@
+! { dg-do run }
+! { dg-options "-finit-local-zero -fbackslash" }
+
+program init_flag_1
+  call real_test
+  call logical_test
+  call int_test
+  call complex_test
+  call char_test
+end program init_flag_1
+
+! Test some initializations for both implicitly and
+! explicitly declared local variables.
+subroutine real_test
+  real r1
+  real r2(10)
+  dimension r3(10,10)
+  if (r1 /= 0.0) call abort
+  if (r2(2) /= 0.0) call abort
+  if (r3(5,5) /= 0.0) call abort
+  if (r4 /= 0.0) call abort
+end subroutine real_test
+
+subroutine logical_test
+  logical l1
+  logical l2(2)
+  if (l1 .neqv. .false.) call abort
+  if (l2(2) .neqv. .false.) call abort
+end subroutine logical_test
+
+subroutine int_test
+  integer i1
+  integer i2(10)
+  dimension i3(10,10)
+  if (i1 /= 0) call abort
+  if (i2(2) /= 0) call abort
+  if (i3(5,5) /= 0) call abort
+  if (i4 /= 0) call abort
+end subroutine int_test
+
+subroutine complex_test
+  complex c1
+  complex c2(20,20)
+  if (c1 /= (0.0,0.0)) call abort
+  if (c2(1,1) /= (0.0,0.0)) call abort 
+end subroutine complex_test
+
+subroutine char_test
+  character*1 c1
+  character*8 c2, c3(5)
+  character c4(10)
+  if (c1 /= '\0') call abort
+  if (c2 /= '\0\0\0\0\0\0\0\0') call abort
+  if (c3(1) /= '\0\0\0\0\0\0\0\0') call abort
+  if (c3(5) /= '\0\0\0\0\0\0\0\0') call abort
+  if (c4(5) /= '\0') call abort
+end subroutine char_test