18 FooEnum
takes_enum (FooEnum foo
) {
22 FooEnum
gives_enum () {
26 FooFlag
takes_flag (FooFlag foo
) {
30 FooFlag
gives_flag () {
35 if (takes_enum (BAR
) == BAR
)
38 assert (takes_enum (BAR
) == BAR
);
39 //TODO assert (MAM == gives_enum ());
41 assert (takes_flag (BAR
| MAM
) == (BAR
| MAM
));
42 //TODO assert (FOO == takes_flag (BAR & MAM | FOO));
43 assert (gives_flag () == (BAR
| MAM
));
45 FooEnum
[] foo_array
= { FOO
, BAR
, FOO
};
47 assert (foo_array
[1] == MAM
);
49 FooStruct foo_struct
= { BAR
};
50 assert (foo_struct
.f
== BAR
);
52 FooEnum foo_enum
= BAR
;
55 case FOO
: assert (false); break;