xplshn
·
2025-08-13
bxDecls.bx
Bx
1// [b]: requires: -pedantic -std=Bx
2
3extrn puts;
4
5// Test implicit global declaration
6global_implicit = 10;
7
8// Test explicit type-inferred global declaration
9auto global_auto = 20;
10
11// Test multi-declaration global
12auto global_multi_1, global_multi_2 = 30, 40;
13
14main() {
15 auto local_auto;
16 local_auto = 50;
17
18 // Test short declaration
19 local_short := 60;
20
21 // Test multi-short declaration
22 local_multi_short_1, local_multi_short_2 := 70, 80;
23
24 if (global_implicit != 10) {
25 puts("FAIL: global_implicit");
26 return (1);
27 }
28 if (global_auto != 20) {
29 puts("FAIL: global_auto");
30 return (1);
31 }
32 if (global_multi_1 != 30 || global_multi_2 != 40) {
33 puts("FAIL: global_multi");
34 return (1);
35 }
36 if (local_auto != 50) {
37 puts("FAIL: local_auto");
38 return (1);
39 }
40 if (local_short != 60) {
41 puts("FAIL: local_short");
42 return (1);
43 }
44 if (local_multi_short_1 != 70 || local_multi_short_2 != 80) {
45 puts("FAIL: local_multi_short");
46 return (1);
47 }
48
49 puts("PASS: All Bx declaration syntax seems to work.");
50 return (0);
51}