emacs-devel
[Top][All Lists]
Advanced

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

Re: USE_LSB_TAG not supported on this platform


From: Herbert J. Skuhra
Subject: Re: USE_LSB_TAG not supported on this platform
Date: Tue, 09 Feb 2016 00:01:17 +0100
User-agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/25.1 Mule/6.0 (HANACHIRUSATO)

On Mon, 08 Feb 2016 20:45:00 +0100,
Paul Eggert <address@hidden> wrote:
> 
> On 02/07/2016 01:35 PM, Herbert J. Skuhra wrote:
> > On FreeBSD 11-CURRENT i386 (r295345)
> > 
> > - the emacs-devel port compiles with gcc only (tested with USE_GCC=5)
> > - even emacs-25 does not build with clang
> > - the breakage starts also with d6585a9 (using gcc5)
> 
> Thanks for pointing out these problems. Since this is a regression in
> emacs-25 we need to fix it there. Please try the latest version of
> emacs-25, which contains the attached patch. If this works it will be
> merged into master. It should work with clang as well as with GCC.

GCC 5 works but clang still fails. If I add

#define alignas _Alignas

to src/lisp.h the build succeeds.

----------
  CC       vm-limit.o
In file included from vm-limit.c:21:
./lisp.h:266:3: error: "alignas not defined"
# error "alignas not defined"
  ^
In file included from vm-limit.c:21:
In file included from ./lisp.h:741:
./globals.h:1046:29: error: expected parameter declarator
struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[1081];
                            ^
./lisp.h:228:21: note: expanded from macro 'GCALIGNMENT'
#define GCALIGNMENT 8
                    ^
In file included from vm-limit.c:21:
In file included from ./lisp.h:741:
./globals.h:1046:29: error: expected ')'
./lisp.h:228:21: note: expanded from macro 'GCALIGNMENT'
#define GCALIGNMENT 8
                    ^
./globals.h:1046:28: note: to match this '('
struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[1081];
                           ^
./globals.h:1046:42: error: expected function body after function declarator
struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[1081];
                                         ^
In file included from vm-limit.c:21:
./lisp.h:858:10: error: use of undeclared identifier 'lispsym'
  return lisp_h_XSYMBOL (a);
         ^
./lisp.h:346:20: note: expanded from macro 'lisp_h_XSYMBOL'
                             + (char *) lispsym))
                                        ^
./lisp.h:1105:63: error: use of undeclared identifier 'lispsym'
  Lisp_Object a = XIL (TAG_SYMOFFSET ((char *) sym - (char *) lispsym));
                                                              ^
./lisp.h:719:53: note: expanded from macro 'TAG_SYMOFFSET'
#define TAG_SYMOFFSET(offset) TAG_PTR (Lisp_Symbol, offset)
                                                    ^
./lisp.h:714:18: note: expanded from macro 'TAG_PTR'
   ? (intptr_t) (ptr) + (tag) \
                 ^
./lisp.h:1105:63: error: use of undeclared identifier 'lispsym'
./lisp.h:719:53: note: expanded from macro 'TAG_SYMOFFSET'
#define TAG_SYMOFFSET(offset) TAG_PTR (Lisp_Symbol, offset)
                                                    ^
./lisp.h:715:66: note: expanded from macro 'TAG_PTR'
   : (EMACS_INT) (((EMACS_UINT) (tag) << VALBITS) + (uintptr_t) (ptr)))
                                                                 ^
./lisp.h:1113:28: error: use of undeclared identifier 'lispsym'
  return make_lisp_symbol (lispsym + index);
                           ^
./lisp.h:1573:22: error: use of undeclared identifier 'lispsym'
enum { NIL_IS_ZERO = XLI_BUILTIN_LISPSYM (iQnil) == 0 };
                     ^
./lisp.h:724:69: note: expanded from macro 'XLI_BUILTIN_LISPSYM'
#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET ((iname) * sizeof *lispsym)
                                                                    ^
./lisp.h:719:53: note: expanded from macro 'TAG_SYMOFFSET'
#define TAG_SYMOFFSET(offset) TAG_PTR (Lisp_Symbol, offset)
                                                    ^
./lisp.h:714:18: note: expanded from macro 'TAG_PTR'
   ? (intptr_t) (ptr) + (tag) \
                 ^
./lisp.h:1573:22: error: use of undeclared identifier 'lispsym'
./lisp.h:724:69: note: expanded from macro 'XLI_BUILTIN_LISPSYM'
#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET ((iname) * sizeof *lispsym)
                                                                    ^
./lisp.h:719:53: note: expanded from macro 'TAG_SYMOFFSET'
#define TAG_SYMOFFSET(offset) TAG_PTR (Lisp_Symbol, offset)
                                                    ^
./lisp.h:715:66: note: expanded from macro 'TAG_PTR'
   : (EMACS_INT) (((EMACS_UINT) (tag) << VALBITS) + (uintptr_t) (ptr)))
                                                                 ^
./lisp.h:1581:3: error: bit-field '_gl_verify_error_if_negative' has negative 
width (-1)
  verify (NIL_IS_ZERO);
  ^
../lib/verify.h:251:19: note: expanded from macro 'verify'
#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
                  ^
../lib/verify.h:211:8: note: expanded from macro '_GL_VERIFY'
      [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
       ^
../lib/verify.h:176:15: note: expanded from macro '_GL_VERIFY_TRUE'
   (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
              ^
../lib/verify.h:196:27: note: expanded from macro '_GL_VERIFY_TYPE'
    struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
                          ^
11 errors generated.
Makefile:377: recipe for target 'vm-limit.o' failed
gmake[1]: *** [vm-limit.o] Error 1
gmake[1]: Leaving directory '/usr/home/herbert/source/emacs/src'
Makefile:394: recipe for target 'src' failed
gmake: *** [src] Error 2
----------

-- 
Herbert



reply via email to

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