GNU bug report logs -
#13734
24.3.50; ../src/lisp.h:2485:10: error: address expression must be an lvalue or a function designator
Previous Next
Reported by: Peter Dyballa <Peter_Dyballa <at> Freenet.DE>
Date: Sun, 17 Feb 2013 11:54:01 UTC
Severity: minor
Tags: moreinfo
Found in version 24.3.50
Done: Andreas Schwab <schwab <at> linux-m68k.org>
Bug is archived. No further changes may be made.
Full log
Message #43 received at 13734 <at> debbugs.gnu.org (full text, mbox):
> From: Peter Dyballa <Peter_Dyballa <at> Freenet.DE>
> Date: Sat, 2 Mar 2013 00:25:41 +0100
> Cc: rgm <at> gnu.org,
> 13734 <at> debbugs.gnu.org,
> schwab <at> linux-m68k.org
>
>
> 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.
This bug report was last modified 12 years and 143 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.