* Makefile.in: Bunch of fixes so it actually works in this
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.chill / chillvars.ch
CommitLineData
16def8c8
SS
1testvars: MODULE
2
3DCL bool_true BOOL := TRUE;
4DCL bool_false BOOL := FALSE;
5DCL booltable1 ARRAY (0:3) BOOL INIT := [ TRUE, FALSE, FALSE, TRUE ];
6DCL booltable2 ARRAY (4:7) BOOL INIT := [ TRUE, FALSE, FALSE, TRUE ];
7
8DCL control_char CHAR := C'07';
9DCL printable_char CHAR := 'a';
10DCL chartable1 ARRAY (0:2) CHAR INIT := [ C'00', C'01', C'02' ];
11DCL chartable2 ARRAY (3:5) CHAR INIT := [ C'00', C'01', C'02' ];
12
13DCL string1 CHARS (4) := 'abcd';
14DCL string2 CHARS (5) := 'ef' // C'00' // 'gh';
15DCL string3 CHARS (6) := 'ef' // 'gh' // 'ij';
16DCL string4 CHARS (7) := (6) 'z' // C'00';
17
18DCL byte_low BYTE := -128;
19DCL byte_high BYTE := 127;
20DCL bytetable1 ARRAY (0:4) BYTE INIT := [ -2, -1, 0, 1, 2 ];
21DCL bytetable2 ARRAY (5:9) BYTE INIT := [ -2, -1, 0, 1, 2 ];
22DCL bytetable3 ARRAY (1:2,'c':'d',FALSE:TRUE) BYTE
23 INIT := [ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ];
24DCL bytetable4 ARRAY (1:2) ARRAY ('c':'d') ARRAY (FALSE:TRUE) BYTE
25 INIT := [ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ];
26
27DCL ubyte_low UBYTE := 0;
28DCL ubyte_high UBYTE := 255;
29DCL ubytetable1 ARRAY (0:4) UBYTE INIT := [ 0, 1, 2, 3, 4 ];
30DCL ubytetable2 ARRAY (5:9) UBYTE INIT := [ 0, 1, 2, 3, 4 ];
31
32DCL int_low INT := -32_768;
33DCL int_high INT := 32_767;
34DCL inttable1 ARRAY (0:4) INT INIT := [ -2, -1, 0, 1, 2 ];
35DCL inttable2 ARRAY (5:9) INT INIT := [ -2, -1, 0, 1, 2 ];
36
37DCL uint_low UINT := 0;
38DCL uint_high UINT := 65_535;
39DCL uinttable1 ARRAY (0:4) UINT INIT := [ 0, 1, 2, 3, 4 ];
40DCL uinttable2 ARRAY (5:9) UINT INIT := [ 0, 1, 2, 3, 4 ];
41
42DCL long_low LONG := -2_147_483_648;
43DCL long_high LONG := 2_147_483_647;
44DCL longtable1 ARRAY (0:4) LONG INIT := [ -2, -1, 0, 1, 2 ];
45DCL longtable2 ARRAY (5:9) LONG INIT := [ -2, -1, 0, 1, 2 ];
46
47DCL ulong_low ULONG := 0;
48DCL ulong_high ULONG := 4_294_967_295;
49DCL ulongtable1 ARRAY (0:4) ULONG INIT := [ 0, 1, 2, 3, 4 ];
50DCL ulongtable2 ARRAY (5:9) ULONG INIT := [ 0, 1, 2, 3, 4 ];
51
52DCL real1 FLOAT := 3.14159265358;
53DCL real2 FLOAT := -3.14159265358;
54DCL realtable1 ARRAY (0:4) FLOAT INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ];
55DCL realtable2 ARRAY (5:9) FLOAT INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ];
56
57DCL long_real1 DOUBLE := 3.14e300;
58DCL long_real2 DOUBLE := -3.14e-300;
59DCL longrealtable1 ARRAY (0:4) DOUBLE INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ];
60DCL longrealtable2 ARRAY (5:9) DOUBLE INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ];
61
62/* DCL powerset1 POWERSET INT(0:7);*/
63/* DCL chars1 CHAR (16) INIT := (16)'b'; */
64/* DCL bits1 BIT(20) := B'11111111000010101011'; */
65
66NEWMODE simple_struct = STRUCT (abool BOOL, aint INT, astring CHARS (8));
67DCL struct1 simple_struct := [ TRUE, 123, "a string" ];
68
69NEWMODE nested_struct = STRUCT (abool BOOL, nstruct simple_struct, aint INT);
70DCL struct2 nested_struct := [ TRUE, [ FALSE, 456, "deadbeef" ], 789 ];
71
72/* This table is used as a source for every ascii character. */
73
74DCL asciitable ARRAY (0:255) CHAR INIT := [
75 C'00', C'01', C'02', C'03', C'04', C'05', C'06', C'07',
76 C'08', C'09', C'0a', C'0b', C'0c', C'0d', C'0e', C'0f',
77 C'10', C'11', C'12', C'13', C'14', C'15', C'16', C'17',
78 C'18', C'19', C'1a', C'1b', C'1c', C'1d', C'1e', C'1f',
79 C'20', C'21', C'22', C'23', C'24', C'25', C'26', C'27',
80 C'28', C'29', C'2a', C'2b', C'2c', C'2d', C'2e', C'2f',
81 C'30', C'31', C'32', C'33', C'34', C'35', C'36', C'37',
82 C'38', C'39', C'3a', C'3b', C'3c', C'3d', C'3e', C'3f',
83 C'40', C'41', C'42', C'43', C'44', C'45', C'46', C'47',
84 C'48', C'49', C'4a', C'4b', C'4c', C'4d', C'4e', C'4f',
85 C'50', C'51', C'52', C'53', C'54', C'55', C'56', C'57',
86 C'58', C'59', C'5a', C'5b', C'5c', C'5d', C'5e', C'5f',
87 C'60', C'61', C'62', C'63', C'64', C'65', C'66', C'67',
88 C'68', C'69', C'6a', C'6b', C'6c', C'6d', C'6e', C'6f',
89 C'70', C'71', C'72', C'73', C'74', C'75', C'76', C'77',
90 C'78', C'79', C'7a', C'7b', C'7c', C'7d', C'7e', C'7f',
91 C'80', C'81', C'82', C'83', C'84', C'85', C'86', C'87',
92 C'88', C'89', C'8a', C'8b', C'8c', C'8d', C'8e', C'8f',
93 C'90', C'91', C'92', C'93', C'94', C'95', C'96', C'97',
94 C'98', C'99', C'9a', C'9b', C'9c', C'9d', C'9e', C'9f',
95 C'a0', C'a1', C'a2', C'a3', C'a4', C'a5', C'a6', C'a7',
96 C'a8', C'a9', C'aa', C'ab', C'ac', C'ad', C'ae', C'af',
97 C'b0', C'b1', C'b2', C'b3', C'b4', C'b5', C'b6', C'b7',
98 C'b8', C'b9', C'ba', C'bb', C'bc', C'bd', C'be', C'bf',
99 C'c0', C'c1', C'c2', C'c3', C'c4', C'c5', C'c6', C'c7',
100 C'c8', C'c9', C'ca', C'cb', C'cc', C'cd', C'ce', C'cf',
101 C'd0', C'd1', C'd2', C'd3', C'd4', C'd5', C'd6', C'd7',
102 C'd8', C'd9', C'da', C'db', C'dc', C'dd', C'de', C'df',
103 C'e0', C'e1', C'e2', C'e3', C'e4', C'e5', C'e6', C'e7',
104 C'e8', C'e9', C'ea', C'eb', C'ec', C'ed', C'ee', C'ef',
105 C'f0', C'f1', C'f2', C'f3', C'f4', C'f5', C'f6', C'f7',
106 C'f8', C'f9', C'fa', C'fb', C'fc', C'fd', C'fe', C'ff'
107];
108
109DCL charmatrix ARRAY (0:255) CHAR INIT := [
110 'a','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
111 'a','a','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
112 'a','a','a','X','X','X','X','X','X','X','X','X','X','X','X','X',
113 'a','a','a','a','X','X','X','X','X','X','X','X','X','X','X','X',
114 'a','a','a','a','a','X','X','X','X','X','X','X','X','X','X','X',
115 'a','a','a','a','a','a','X','X','X','X','X','X','X','X','X','X',
116 'a','a','a','a','a','a','a','X','X','X','X','X','X','X','X','X',
117 'a','a','a','a','a','a','a','a','X','X','X','X','X','X','X','X',
118 'a','a','a','a','a','a','a','a','a','X','X','X','X','X','X','X',
119 'a','a','a','a','a','a','a','a','a','a','X','X','X','X','X','X',
120 'a','a','a','a','a','a','a','a','a','a','a','X','X','X','X','X',
121 'a','a','a','a','a','a','a','a','a','a','a','a','X','X','X','X',
122 'a','a','a','a','a','a','a','a','a','a','a','a','a','X','X','X',
123 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','X','X',
124 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','X',
125 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a'
126];
127
128booleans: PROC ();
129
130 DCL val1 BOOL := TRUE;
131 DCL val2 BOOL := FALSE;
132 DCL val3 BOOL := TRUE;
133
134 val1 := TRUE XOR TRUE;
135 val1 := TRUE XOR FALSE;
136 val1 := FALSE XOR TRUE;
137 val1 := FALSE XOR FALSE;
138 val1 := val2 XOR val3;
139
140 val1 := TRUE AND TRUE;
141 val1 := TRUE AND FALSE;
142 val1 := FALSE AND TRUE;
143 val1 := FALSE AND FALSE;
144 val1 := val2 AND val3;
145
146 val1 := TRUE ANDIF TRUE;
147 val1 := TRUE ANDIF FALSE;
148 val1 := FALSE ANDIF TRUE;
149 val1 := FALSE ANDIF FALSE;
150 val1 := val2 ANDIF val3;
151
152 val1 := TRUE OR TRUE;
153 val1 := TRUE OR FALSE;
154 val1 := FALSE OR TRUE;
155 val1 := FALSE OR FALSE;
156 val1 := val2 OR val3;
157
158-- val1 := NOT TRUE;
159-- val1 := NOT FALSE;
160-- val1 := NOT val2;
161-- val1 := NOT val3;
162
163END booleans;
164
165scalar_arithmetic: PROC ();
166
167 DCL val1 INT := 1;
168 DCL val2 INT := 2;
169 DCL val3 INT := 3;
170
171 val1 := -val2;
172 val1 := val2 + val3;
173 val1 := val2 - val3;
174 val1 := val2 * val3;
175 val1 := val2 / val3;
176 val1 := val2 MOD val3;
177 val1 := val2 REM val3;
178
179END scalar_arithmetic;
180
181write_arrays: PROC ();
182
183 inttable1(0) := 0;
184 inttable1(1) := 1;
185 inttable1(2) := 2;
186 inttable1(3) := 3;
187 inttable1(4) := 4;
188 inttable2(5) := 5;
189 inttable2(6) := 6;
190 inttable2(7) := 7;
191 inttable2(8) := 8;
192 inttable2(9) := 9;
193
194END write_arrays;
195
196uint_low := 0;
197
198scalar_arithmetic ();
199write_arrays ();
200booleans ();
201
202END;
This page took 0.030164 seconds and 4 git commands to generate.