emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap problem with union Lisp_Object


From: Ken Raeburn
Subject: Re: bootstrap problem with union Lisp_Object
Date: Wed, 7 Dec 2005 15:12:56 -0500

On Dec 6, 2005, at 11:30, Andreas Schwab wrote:
Try it with asserts (and without GCC extensions, of course).

IMHO it would be reasonable to require GCC when building with
-DENABLE_CHECKING.

If people think this is a good idea, I could start changing those macros that use eassert (XSET, XCONS, XVECTOR, ...) to have GCC and non-GCC versions, with the GCC versions using statement expressions (inline functions wouldn't preserve the file and line number) and temporary variables, and error out if ENABLE_CHECKING is defined but GCC isn't used. Should be straightforward, about a dozen places or so to change I think.

  In any case I think that least the basic macros like
NILP and EQ should be side effect safe.

It would be nice. CAR and CDR already fail that test for other reasons, though. With ENABLE_CHECKING, most of the basic Lisp object manipulation macros do, because they double-check that the type is correct before extracting data.

Ken




reply via email to

[Prev in Thread] Current Thread [Next in Thread]