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

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

bug#13734: 24.3.50; ../src/lisp.h:2485:10: error: address expression mus


From: Eli Zaretskii
Subject: bug#13734: 24.3.50; ../src/lisp.h:2485:10: error: address expression must be an lvalue or a function designator
Date: Sat, 02 Mar 2013 10:24:18 +0200

> From: Peter Dyballa <address@hidden>
> Date: Sat, 2 Mar 2013 00:25:41 +0100
> Cc: address@hidden,
>  address@hidden,
>  address@hidden
> 
> 
> Am 01.03.2013 um 21:27 schrieb Eli Zaretskii:
> 
> > Can you post a cpp-preprocessed code of that line in lisp.h, when
> > configured --with-wide-int, from the compilation of a C source which
> > triggers the error (lwlib.c, I think)?
> 
> I can't! In the middle of C pre-processing this happens:
> 
>       In file included from lwlib.c:24:
>       ../src/lisp.h:3841:52: error: macro "EQ" requires 2 arguments, but only 
> 1 given
> [...]
> This is the pre-processed function:
> 
>       static __attribute__ ((__unused__)) Lisp_Object *
>       aref_addr (Lisp_Object array, ptrdiff_t idx)
>       {
>         return & (((void) (0 && ((((enum Lisp_Type) ((EMACS_UINT) ((array)) 
> >> VALBITS)) == Lisp_Vectorlike)))), (struct Lisp_Vector *) ((gl_uintptr_t) 
> (((array) & (9223372036854775807LL >> (3 - 1)))) | 
> DATA_SEG_BITS)))->contents[idx];
>       }

Thanks, this gave the crucial clue.  (Your configuration uses a setup
where USE_LSB_TAG is not used, which I guess is something no one tried
in a long time.)  There was a mismatch of parentheses in the
definition of XPNTR in that branch, which I believe caused these
problems.  Please try the latest trunk, I hope I fixed this in
revision 111912.





reply via email to

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