| /* Make sure that we don't free any temp stack slots associated with |
| initializing marker before we're finished with them. */ |
| |
| extern void abort(); |
| |
| typedef struct { short v16; } __attribute__((packed)) jint16_t; |
| |
| struct node { |
| jint16_t magic; |
| jint16_t nodetype; |
| int totlen; |
| } __attribute__((packed)); |
| |
| struct node node, *node_p = &node; |
| |
| int main() |
| { |
| struct node marker = { |
| .magic = (jint16_t) {0x1985}, |
| .nodetype = (jint16_t) {0x2003}, |
| .totlen = node_p->totlen |
| }; |
| if (marker.magic.v16 != 0x1985) |
| abort(); |
| if (marker.nodetype.v16 != 0x2003) |
| abort(); |
| return 0; |
| } |