31 lines
781 B
Modula-2
Vendored
31 lines
781 B
Modula-2
Vendored
---
|
|
enum B2 {
|
|
ZERO, ONE, TWO, THREE
|
|
};
|
|
|
|
enum E : short {
|
|
A, B
|
|
};
|
|
|
|
struct __attribute__((packed)) S {
|
|
long long x1 : 1;
|
|
enum B2 x2 : 2;
|
|
unsigned short x3 : 3;
|
|
unsigned int x4 : 4;
|
|
int x5 : 5;
|
|
long long x6 : 63;
|
|
enum E x7: 2;
|
|
_Bool x8 : 1;
|
|
struct { int x9:4; };
|
|
};
|
|
|
|
static long long getX1(struct S* s) { return s->x1; }
|
|
static enum B2 getX2(struct S* s) { return s->x2; }
|
|
static unsigned short getX3(struct S* s) { return s->x3; }
|
|
static unsigned int getX4(struct S* s) { return s->x4; }
|
|
static int getX5(struct S* s) { return s->x5; }
|
|
static long long getX6(struct S* s) { return s->x6; }
|
|
static enum E getX7(struct S* s) { return s->x7; }
|
|
static _Bool getX8(struct S* s) { return s->x8; }
|
|
static int getX9(struct S* s) { return s->x9; }
|