bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#21999: 25.0.50; Binary with --enable-checking immediately aborts wit


From: Eli Zaretskii
Subject: bug#21999: 25.0.50; Binary with --enable-checking immediately aborts with '0<=size'
Date: Wed, 25 Nov 2015 19:34:00 +0200

> Cc: deng@randomsample.de, 21999@debbugs.gnu.org
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Tue, 24 Nov 2015 23:52:57 -0800
> 
> Eli Zaretskii wrote:
> > After all, the size field of the pseudo-vector object is not
> > really a size, but a bunch of bitfields, so I'm not sure testing it in
> > its entirety makes sense.  Paul?
> 
> The point of the eassume is that it improves code quality in the common case 
> where the size field is actually a size, since the compiler can generate 
> better 
> code when it knows that sizes are nonnegative.  Also, it should improve 
> checking 
> a bit, in case someone trashes a size field.
> 
> Looks like this is more trouble than it's worth, and we should get rid of 
> that 
> eassume, at least in emacs-25.  Or have you fixed it?

I fixed this particular issue, which happened because several macros
on font.h used ASIZE and were called in the context of GC.  Now each
such macro has a GC_* variant that calls gc_asize instead.  If that's
a clean enough solution, we can safely move on.  I was just worried
that ASIZE is no longer safe in GC, and any macro that uses it becomes
unsafe.  But currently, any such remaining macros aren't called by GC
code, so there are no more known problems, just a subtlety.





reply via email to

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