ns = @names c32le { enum X { x = 10, y = x+x, }; typedef struct x *x; struct x { @0x0 int x; @0x4 char a[x]; @0x8 struct x *b[y]; @0xc char c[x+y]; @0x10 x d[10]; @0x14 char e[x+2*y]; @0x100; }; }; printf("%d\n", ns`x); printf("%d\n", ns`y); t = @typeof(struct ns`x); printf("%d\n", sizeof(fieldtype(lookfield(t, 'x)))); printf("%d\n", sizeof(fieldtype(lookfield(t, 'a)))); printf("%d\n", sizeof(fieldtype(lookfield(t, 'b)))); printf("%d\n", sizeof(fieldtype(lookfield(t, 'c)))); printf("%d\n", sizeof(fieldtype(lookfield(t, 'd))));