aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f9031
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f90
new file mode 100644
index 000000000..9db8d407a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_len.f90
@@ -0,0 +1,31 @@
+! Program to test the LEN intrinsic
+program test
+ character(len=10) a
+ character(len=8) w
+ type person
+ character(len=10) name
+ integer age
+ end type person
+ type(person) Tom
+ integer n
+ a = w (n)
+
+ if ((a .ne. "01234567") .or. (n .ne. 8)) call abort
+ if (len(Tom%name) .ne. 10) call abort
+ call array_test()
+end
+
+function w(i)
+ character(len=8) w
+ integer i
+ w = "01234567"
+ i = len(w)
+end
+
+! This is the testcase from PR 15211 converted to a subroutine
+subroutine array_test
+ implicit none
+ character(len=10) a(4)
+ if (len(a) .NE. 10) call abort()
+end subroutine array_test
+