emacs-devel
[Top][All Lists]
Advanced

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

Re: master 3ed79cd: Separate bytecode stack


From: Mattias Engdegård
Subject: Re: master 3ed79cd: Separate bytecode stack
Date: Sun, 13 Mar 2022 19:44:22 +0100

13 mars 2022 kl. 18.39 skrev Eli Zaretskii <eliz@gnu.org>:
> 
> This changeset causes compilation warning in a 32-bit build in which
> !LISP_WORDS_ARE_POINTERS and which was configured --with-wide-int:
> 
>  In file included from bytecode.c:22:
>  bytecode.c: In function 'sf_set_ptr':
>  bytecode.c:396:20: warning: cast from pointer to integer of different size 
> [-Wpointer-to-int-cast]
>    396 |   fp[index] = XIL ((EMACS_INT)value);

Thank you for testing this configuration! Silly mistake of mine; please try 
with the pushed change.

> More generally, I'm quite nervous to see void * pointers and integers
> being put into the same array.

Actually what we are doing is storing arbitrary pointers in a Lisp_Object, and 
this should always be possible. In fact there is already a function for the 
conversion in one direction, XLP, but there isn't an XPL yet, which is what the 
code with the warning was doing. We could add an XPL to lisp.h; it would just 
be moving some code from bytecode.c.




reply via email to

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