• Paul Eggert's avatar
    Fix union Lisp_Fwd * alignment bug · 9287813d
    Paul Eggert authored
    It's not portable to cast (e.g.) struct Lisp_Objfwd * to union
    Lisp_Fwd * and then back again, because the compiler can then assume
    that the pointer is aligned for union Lisp_Fwd * when accessing
    the struct Lisp_Objfwd * components, and this assumption might
    be incorrect becase we don't force that alignment.
    * src/lisp.h (lispfwd): New type, replacing ...
    (union Lisp_Fwd): ... this type, which was removed.
    All uses changed.
    (SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd.
    All uses changed (casts no longer needed; they were
    not portable anyway).
    9287813d
data.c 116 KB