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: Andreas Schwab
Subject: Re: bootstrap problem with union Lisp_Object
Date: Tue, 06 Dec 2005 16:52:47 +0100
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>>> I'm still trying to track this down, but just for the record: If I
>>>> build recent sources with CC='gcc -DENABLE_CHECKING - 
>>>> DUSE_LISP_UNION_TYPE', bootstrapping fails:
>>> 
>>> Fixed...  With these options enabled, EQ evaluates its arguments  
>>> twice.
>
>> I think that should be fixed.  The requirement that arguments of EQ or
>> NILP need to be side effect free is too easy to forget, since it is
>> nowhere documented.
>
> The argument of *any* macro should be free of side effects.

Not necessarily.  Making macros safe on side effects is usually not hard,
and in the case of EQ it is trivial too:

#define EQ(x, y) ((x).i == (y).i)

Andreas.

-- 
Andreas Schwab, SuSE Labs, address@hidden
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




reply via email to

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