aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gm2/pim/fail/badproctype.mod
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gm2/pim/fail/badproctype.mod')
-rw-r--r--gcc/testsuite/gm2/pim/fail/badproctype.mod34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gm2/pim/fail/badproctype.mod b/gcc/testsuite/gm2/pim/fail/badproctype.mod
new file mode 100644
index 00000000000..cff3a31db8e
--- /dev/null
+++ b/gcc/testsuite/gm2/pim/fail/badproctype.mod
@@ -0,0 +1,34 @@
+MODULE badproctype ;
+
+TYPE
+ PROCA = PROCEDURE (VAR ARRAY OF REAL);
+ PROCB = PROCEDURE (VAR ARRAY OF SHORTREAL);
+
+VAR
+ pa: PROCA; pb: PROCB;
+ x: ARRAY [0..1] OF REAL;
+ y: ARRAY [0..1] OF SHORTREAL;
+
+PROCEDURE ProcA(VAR z: ARRAY OF REAL);
+BEGIN
+END ProcA ;
+
+PROCEDURE ProcB(VAR z: ARRAY OF SHORTREAL);
+BEGIN
+END ProcB ;
+
+BEGIN
+ x := y;
+ pa := ProcA;
+ pb := ProcB;
+ pa(x);
+ pa(y);
+ pb(x);
+ pb(y);
+ pa := ProcB; (* proctype does not match. *)
+ pb := ProcA; (* proctype does not match. *)
+ pa(x);
+ pa(y);
+ pb(x);
+ pb(y)
+END badproctype.