summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/benchmark.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-04-01 11:54:23 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-04-01 12:02:37 -0700
commit9287813da1ae9076f29be111674d1795bee66447 (patch)
treed48781deb3ccc24f40de2944efdccc6a84280fd5 /lisp/emacs-lisp/benchmark.el
parent197fbfc71f49b307baa3831a30732c3a0c4c7420 (diff)
downloademacs-9287813da1ae9076f29be111674d1795bee66447.tar.gz
emacs-9287813da1ae9076f29be111674d1795bee66447.tar.bz2
emacs-9287813da1ae9076f29be111674d1795bee66447.zip
Fix union Lisp_Fwd * alignment bug
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).
Diffstat (limited to 'lisp/emacs-lisp/benchmark.el')
0 files changed, 0 insertions, 0 deletions