summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/array_memset_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_memset_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/array_memset_1.f9064
1 files changed, 64 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_memset_1.f90 b/gcc/testsuite/gfortran.dg/array_memset_1.f90
new file mode 100644
index 000000000..cd6cb0d6d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/array_memset_1.f90
@@ -0,0 +1,64 @@
+! { dg-do compile }
+! { dg-options "-O2 -fdump-tree-original" }
+subroutine i1(a)
+ integer :: a(20)
+ a = 0;
+end subroutine
+
+subroutine i2(a)
+ integer :: a(20)
+ a(:) = 0;
+end subroutine
+
+subroutine i3(a)
+ integer :: a(20)
+ a(1:20) = 0;
+end subroutine
+
+subroutine r1(a)
+ real :: a(20)
+ a = 0.0;
+end subroutine
+
+subroutine r2(a)
+ real :: a(20)
+ a(:) = 0.0;
+end subroutine
+
+subroutine r3(a)
+ real :: a(20)
+ a(1:20) = 0.0;
+end subroutine
+
+subroutine z1(a)
+ complex :: a(20)
+ a = 0;
+end subroutine
+
+subroutine z2(a)
+ complex :: a(20)
+ a(:) = 0;
+end subroutine
+
+subroutine z3(a)
+ complex :: a(20)
+ a(1:20) = 0;
+end subroutine
+
+subroutine l1(a)
+ logical :: a(20)
+ a = .false.;
+end subroutine
+
+subroutine l2(a)
+ logical :: a(20)
+ a(:) = .false.;
+end subroutine
+
+subroutine l3(a)
+ logical :: a(20)
+ a(1:20) = .false.;
+end subroutine
+
+! { dg-final { scan-tree-dump-times "memset" 12 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }