------- Comment #1 from jakub at gcc dot gnu dot org 2009-01-02 15:20 ------- That seems invalid, not valid. E.g. C says that for offsetof (type, member) for static type t; &(t.member) evaluates to an address constant, which is not the case for const char *p; field and p[0].
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38699