aboutsummaryrefslogtreecommitdiff
path: root/compiler/tests/verifier/expr_types_numbers.bad
blob: 942110ce879357662cbafb6378644c1d68abb4f0 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62


() test() {
    
    // Define variables first
    var count c;

    var short   s;
    var ushort us;
    var int     i;
    var uint   ui;
    var long    l;
    var ulong  ul;
    var longlong ll;
    var ulonglong ull;

    var int8    i8;
    var uint8   u8;
    var byte    byt;
    var int16   i16;
    var uint16  u16;
    var int32   i32;
    var uint32  u32;
    var int64   i64;
    var uint64  u64;
    var int128  i128;
    var uint128 u128;
    
    var wcount     wc;
    var wuint8     w8;
    var wuint16    w16;
    var wuint32    w32;
    var wuint64    w64;
    var wuint128   w128;
    
    var wushort     ws;
    var wuint       wi;
    var wulong      wl;
    var wulonglong  wll;
    
    var float   f;
    var float16 f16;
    var float32 f32;
    var float64 f64;
    var float80 f80;
    var float128 f128;
    
    var cfloat      cf;
    var cdouble     cd;
    var clongdouble cld;
    
    var bool b;
    
    /* ERRORS */
    c = i8; // signed to unsigned
    i8 = u8; // u8 has a larger max value
    c = us; // ushort could (in theory) be larger than count
    i16 = i32; // larger
    i128 = f16; // losing the fractional part!
    b = 1; // bool is not a number
    i128 = bool:true;
}