summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/equiv_2.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/equiv_2.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/equiv_2.f9020
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/equiv_2.f90 b/gcc/testsuite/gfortran.dg/equiv_2.f90
new file mode 100644
index 000000000..ee671f964
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/equiv_2.f90
@@ -0,0 +1,20 @@
+! { dg-do compile }
+! { dg-options "-std=legacy" }
+!
+ subroutine broken_equiv1
+ character*4 h
+ character*3 i
+ equivalence (h(1:3), i(2:1)) ! { dg-error "has length zero" }
+ end subroutine
+
+ subroutine broken_equiv2
+ character*4 j
+ character*2 k
+ equivalence (j(2:3), k(1:5)) ! { dg-error "exceeds the string length" }
+ end subroutine
+
+ subroutine broken_equiv3
+ character*4 l
+ character*2 m
+ equivalence (l(2:3:4), m(1:2)) ! { dg-error "\[Ss\]yntax error" }
+ end subroutine