aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f9026
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f90
new file mode 100644
index 000000000..55cc185f3
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/initializer.f90
@@ -0,0 +1,26 @@
+! Program to test static variable initialization
+! returns the parameter from the previous invocation, or 42 on the first call.
+function test (parm)
+ implicit none
+ integer test, parm
+ integer :: val = 42
+
+ test = val
+ val = parm
+end function
+
+program intializer
+ implicit none
+ integer test
+ character(11) :: c = "Hello World"
+ character(15) :: d = "Teststring"
+ integer, dimension(3) :: a = 1
+
+ if (any (a .ne. 1)) call abort
+ if (test(11) .ne. 42) call abort
+ ! The second call should return
+ if (test(0) .ne. 11) call abort
+
+ if (c .ne. "Hello World") call abort
+ if (d .ne. "Teststring") call abort
+end program