bloat-buster/tests/small_struct_ints.bbb

48 lines
722 B
Plaintext

SmallStructInts = struct
{
a: u8,
b: u8,
c: u8,
d: u8,
}
bb_ret_small_struct_ints = fn [cc(c)] () SmallStructInts
{
return {
.a = 1,
.b = 2,
.c = 3,
.d = 4,
};
}
require = fn(ok: u1) void
{
if (!ok)
{
#trap();
}
}
c_small_struct_ints = fn [cc(c)] (x: SmallStructInts) void
{
require(x.a == 1);
require(x.b == 2);
require(x.c == 3);
require(x.d == 4);
>y = bb_ret_small_struct_ints();
require(y.a == 1);
require(y.b == 2);
require(y.c == 3);
require(y.d == 4);
}
[export] main = fn [cc(c)] () s32
{
>s: SmallStructInts = { .a = 1, .b = 2, .c = 3, .d = 4 };
c_small_struct_ints(s);
return 0;
}