David Laight wrote:
> I don't believe there is a problem using m[0], just m[non-constant-expr].
Practically speaking, m[0] is not a problem but the standard says
... to the structure member (designated by member-designator), ...
^^^^^^
> OTOH 'sizeof (s *)0->m[0]' might be deemed invalid (because it has
> an inferred dereference of NULL.
Oh yes. I can change it to:
extern void *foo(void);
and then sizeof(((s *)foo())->m[0]) but NULL should work too.
So, if we reached a consensus on this, where should I add the macro?
Alex