clang 3.4 -fms-extensions __wchar_t conflicts with our __wchar_t

Tijl Coosemans tijl at FreeBSD.org
Tue Mar 18 15:38:44 UTC 2014


Hi,

With -fms-extensions clang 3.4 seems to define a built-in type named
__wchar_t.  This conflicts with __wchar_t in /usr/include/machine/_types.h


% cat test.c 
#include <sys/types.h>
% cc -c test.c -fms-extensions
In file included from test.c:1:
In file included from /usr/include/sys/types.h:44:
In file included from /usr/include/machine/endian.h:6:
In file included from /usr/include/x86/endian.h:37:
In file included from /usr/include/sys/_types.h:33:
In file included from /usr/include/machine/_types.h:6:
/usr/include/x86/_types.h:145:14: error: cannot combine with previous 'int'
      declaration specifier
typedef int             __wchar_t;
                        ^
1 error generated.


What is the best way to resolve this?  Maybe rename the FreeBSD __wchar_t
to ___wchar_t?


More information about the freebsd-toolchain mailing list