• Paul Eggert's avatar
    Avoid _setjmp/_longjmp problems with local nonvolatile variables. · 50f2e553
    Paul Eggert authored
    If a nonvolatile local variable is written before a _longjmp to
    the frame containing the variable, and is read after the _longjmp,
    the value read is indeterminate.  Some local variables of type
    'struct handler' and 'struct catchtag' are used in this way, so
    mark each of their slots as volatile if the slot can be set before
    _longjmp and read afterwards.
    * lisp.h (struct handler): var and chosen_clause are now volatile.
    (struct catchtag): val, next, and pdlcount are now volatile.
    50f2e553
lisp.h 128 KB