Subject: bug#9960: Compiling Emacs trunk with MSVC

From: Christoph Scholtes <[email-masked]>
Date: Sat, 05 Nov 2011 06:54:39 -0600

On 11/5/2011 5:39 AM, Eli Zaretskii wrote:
>> Date: Sat, 05 Nov 2011 13:19:28 +0200
>> From: Eli Zaretskii<[email-masked]>
>> Cc: [email-masked]
>>
>> What follows is discussion of some of the changes suggested by
>> Fabrice, including the description of how they were adapted to the
>> current trunk, and the diffs that will be actually committed shortly.
>
> Committed as revision 106292 on the trunk.

I tried building with Visual Studio 2008 (Express Edition) and the build 
fails:

         cl -I. -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Od -Gd -Zi 
-DEMACSDEBUG -DENA
BLE_CHECKING -DXASSERTS -I"D:/devel/emacs/libs/libXpm-3.5.8/include" 
-I"D:/devel
/emacs/libs/libXpm-3.5.8/src" 
-I"D:/devel/emacs/libs/libpng-dev_1.4.3-1/include"
  -I"D:/devel/emacs/libs/zlib-dev_1.2.5-2/include" 
-I"D:/devel/emacs/libs/giflib-
4.1.4-1/include" -I"D:/devel/emacs/libs/jpeg-6b-4/include" 
-I"D:/devel/emacs/lib
s/tiff-3.8.2-1/include" -I"D:/devel/emacs/libs/gnutls-2.10.1/include" 
-DHAVE_CON
FIG_H=1 -I. -I../nt/inc -I../src -Foobj/i386\ md5.c sha1.c sha256.c 
sha512.c fil
emode.c
md5.c
md5.c(259) : warning C4116: unnamed type definition in parentheses
sha1.c
sha1.c(74) : error C2054: expected '(' to follow 'inline'
sha1.c(75) : error C2085: 'set_uint32' : not in formal parameter list
sha1.c(75) : error C2143: syntax error : missing ';' before '{'
sha1.c(246) : warning C4116: unnamed type definition in parentheses
sha256.c
sha256.c(93) : error C2054: expected '(' to follow 'inline'
sha256.c(94) : error C2085: 'set_uint32' : not in formal parameter list
sha256.c(94) : error C2143: syntax error : missing ';' before '{'
sha256.c(378) : warning C4116: unnamed type definition in parentheses

[...] (more errors after this)

This is caused by `inline' keyword, which should be `__inline' for MSVC. 
I don't see any place where this would be defined for the W32 build. Am 
I missing something?

Christoph