It is just an union with no name and a variable.
gcc3 -ansi -pedantic accepts this:
union { char *s; const char *l; } u2 = {(char*)0};
and this:
union { char *s; long l; } u1 = {(char*)0};
but emits a warning if this
union { char *s; long l; } u; u.l = (long)0;
is followed by a declaration.
--
Helmut Karlowski