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

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

bug#9960: Compiling Emacs trunk with MSVC


From: Eli Zaretskii
Subject: bug#9960: Compiling Emacs trunk with MSVC
Date: Mon, 07 Nov 2011 19:03:18 +0200

> From: Fabrice Popineau <fabrice.popineau@supelec.fr>
> Date: Mon, 7 Nov 2011 17:13:09 +0100
> Cc: Christoph Scholtes <cschol2112@googlemail.com>, 9960@debbugs.gnu.org
> 
> Our best bet is to use a construction like :
> 
> #define GCTYPEBITS 4
> #if (1<<GCTYPEBITS) == 2
> #define ALIGN_GCTYPEBITS 2
> #elif (1<<GCTYPEBITS) == 4
> #define ALIGN_GCTYPEBITS 4
> #elif (1<<GCTYPEBITS) == 8
> #define ALIGN_GCTYPEBITS 8
> #else
> #error Define ALIGN_GCTYPEBITS
> #endif
> 
> static int __declspec(align(ALIGN_GCTYPEBITS)) test = 1;

Will this work:

  #define ALIGN_GCTYPEBITS 8
  #if (1 << GCTYPEBITS) != ALIGN_GCTYPEBITS
  #error ALIGN_GCTYPEBITS is wrong!
  #endif
  #define DECL_ALIGN(type, var) \
       type __declspec(align(ALIGN_GCTYPEBITS)) var

Since all this is needed for MSVC alone, we could then move the
ALIGN_GCTYPEBITS definition to src/s/ms-w32.h and leave only the rest
in lisp.h.  WDYT?





reply via email to

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