>>319
gccのNGは別のエラーじゃないの? 規格上enumはintという事になってるから
(long)が許されないとか。

offsetofって 0を構造体のポインタにキャストして、メンバーアドレスと
構造体そのもののアドレスをchar *にさらにキャストした差だから、
xxx = (long) (&((aaa *)0)->a), //vc=ok,gcc=ng
が通らないのはおかしい。