Přemysl Eric Janouch
2edc9c6fd1
Also change the C backend so that it also de/serializes unions without any other fields besides the tag.
30 lines
497 B
Plaintext
30 lines
497 B
Plaintext
/*
|
|
* tests/lxdrgen.lxdr: a test protocol for the generator
|
|
*/
|
|
const VERSION = 1;
|
|
const NOISREV = -1;
|
|
|
|
// TODO: Test failure paths, and in general go for full coverage.
|
|
struct Struct {
|
|
union Union switch (enum Enum {
|
|
NUMBERS = VERSION,
|
|
OTHERS = 2,
|
|
NOTHING,
|
|
} tag) {
|
|
case NUMBERS:
|
|
i8 a; i16 b; i32 c; i64 d;
|
|
u8 e; u16 f; u32 g; u64 h;
|
|
case OTHERS:
|
|
bool foo;
|
|
string bar;
|
|
u8 baz<>;
|
|
case NOTHING:
|
|
void;
|
|
} u<>;
|
|
|
|
union Onion switch (Enum tag) {
|
|
case NOTHING:
|
|
void;
|
|
} o;
|
|
};
|