aboutsummaryrefslogtreecommitdiff
path: root/compiler/tests/verifier/typedef_bitfield.good
blob: 2fe3923eaef781b5acc074ee564b3e0bb19d7574 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

typedef A = bits ();
typedef B = bits (x);
typedef C = bits (x, y, z);
typedef D = uint16 bits (x, y, z);
typedef E = bits (5 bits r, 6 bits g, 5 bits b);
typedef F = bits (x, y, 2 bits uint16 z);
typedef G = uint16 bits (5 bits r, 6 bits g, 5 bits b);
typedef H = uint32 bits (x, y, 2 bits uint16 z);
count constant = 3;
typedef I = bits (3+constant bits x, constant+(constant+1) bits y);
typedef J = uint16 bits (3+constant bits x, constant+(constant+1) bits y);

() test()
{
    var bool t;
    var B b;
    b.x = :true;
    
    var C c;
    c.x = :false;
    c.y = :true;
    
    /*var D d;
    d.x = :false;
    d.y = :true;*/
    
    var E e;
    e.r = 31;
    e.g = 63;
    e.b = 31;
    
    var F f;
    f.x = :false;
    f.y = :true;
    f.z = 2;
    
    var I i;
    i.x = 63;
    i.y = 31;
    
    /*var J j;
    j.x = 63;
    j.y = 31;*/
}