aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gm2/base-lang/pass/opaquevariant.mod
blob: 3197a04ca3103b87e0569076a9d90c2275e18b43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
IMPLEMENTATION MODULE opaquevariant ;  (*!m2pim*)

TYPE
   colour = (red, blue, green) ;
   Opaque = POINTER TO RECORD
                          CASE key: colour OF

                          red  :  truefield : TrueRec |
                          blue,
                          green:  falsefield: FalseRec

                          END
                       END ;

   TrueRec = RECORD
                a: Opaque
             END ;

   FalseRec = RECORD
                 b: Opaque
              END ;

VAR
   v: Opaque ;

END opaquevariant.