clang and Windows

Hey guys,

I'd like to know what the current status of clang is on Windows. I thought I'd give it a spin and ran into trouble from the getgo when I tried to #include <windows.h>:

$ clang-cc -D_MSC_VER=1200 -D_M_IX86 test.c

In file included from c:/Program Files/Microsoft Visual Studio/VC98/Include/windows.h:163:
In file included from c:/Program Files/Microsoft Visual Studio/VC98/Include/windef.h:166:
c:/Program Files/Microsoft Visual Studio/VC98/Include/winnt.h:1519:1: error:
       unknown type name '_inline'
_inline PVOID GetFiberData( void ) { __asm {
^
c:/Program Files/Microsoft Visual Studio/VC98/Include/winnt.h:1519:15: error:
       invalid token after top level declarator
_inline PVOID GetFiberData( void ) { __asm {
               ^
c:/Program Files/Microsoft Visual Studio/VC98/Include/winnt.h:1576:9: error:
       unknown type name 'FLOATING_SAVE_AREA'
typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
         ^
c:/Program Files/Microsoft Visual Studio/VC98/Include/winnt.h:1628:5: error:
       unknown type name 'FLOATING_SAVE_AREA'
     FLOATING_SAVE_AREA FloatSave;

Is this a known issue or have I not configured things properly?

Hello,

Can you name a few? I'd like to try out some simple program just to get the hang of it.

I think they were some programs from LLVM's testsuite.

Duly noted :). I presume you were using MinGW?

Yes.

Hello,

Anton Korobeynikov wrote:

Hello,

Can you name a few? I'd like to try out some simple program just to get the hang of it.

I think they were some programs from LLVM's testsuite.

Duly noted :). I presume you were using MinGW?

Yes.

Thanks. I've now installed MinGW but I'm seing the following issue because clang's stddef.h defines wchar_t which clashes with MinGW:

$ clang-cc test.c
In file included from test.c:1:
In file included from C:/mingw/include/windows.h:47:
In file included from C:/mingw/include/windef.h:252:
C:/mingw/include/winnt.h:99:24: error: typedef redefinition with different types ('unsigned short' vs 'typeof (*L"")' (aka 'short'))
typedef unsigned short wchar_t;
                        ^
In file included from test.c:1:
In file included from C:/mingw/include/windows.h:47:
In file included from C:/mingw/include/windef.h:252:
In file included from C:/mingw/include/winnt.h:36:
In file included from C:/mingw/include/string.h:24:
s:/git/llvm-win32/bin/lib/clang/1.0/include/stddef.h:32:26: note: previous definition is here
typedef __typeof__(*L"") wchar_t;

Any suggestions?
                       ^

Hello

Thanks. I've now installed MinGW but I'm seing the following issue
because clang's stddef.h defines wchar_t which clashes with MinGW:

Please fill a bugzilla PR for this.

Hey,

Anton Korobeynikov wrote:

Hello

Thanks. I've now installed MinGW but I'm seing the following issue
because clang's stddef.h defines wchar_t which clashes with MinGW:

Please fill a bugzilla PR for this.

Done. See PR4417.