From: Rich Felker Date: Sat, 15 Oct 2011 04:28:49 +0000 (-0400) Subject: don't define wchar_t on c++ X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=1d3c2768078937eeb2d4d265e34f7e549ccda5f1 don't define wchar_t on c++ it's a keyword in c++ (wtf). i'm not sure this is the cleanest solution; it might be better to avoid ever defining __NEED_wchar_t on c++. but in any case, this works for now. --- diff --git a/arch/arm/bits/alltypes.h.sh b/arch/arm/bits/alltypes.h.sh index 11f1d93f..af73e664 100755 --- a/arch/arm/bits/alltypes.h.sh +++ b/arch/arm/bits/alltypes.h.sh @@ -22,7 +22,9 @@ TYPEDEF long ptrdiff_t; TYPEDEF __builtin_va_list va_list; +#ifndef __cplusplus TYPEDEF unsigned wchar_t; +#endif TYPEDEF int wint_t; TYPEDEF long wctrans_t; TYPEDEF long wctype_t; diff --git a/arch/i386/bits/alltypes.h.sh b/arch/i386/bits/alltypes.h.sh index 672d6a45..5aacc293 100755 --- a/arch/i386/bits/alltypes.h.sh +++ b/arch/i386/bits/alltypes.h.sh @@ -26,11 +26,13 @@ TYPEDEF __builtin_va_list va_list; TYPEDEF struct __va_list * va_list; #endif +#ifndef __cplusplus #ifdef __WCHAR_TYPE__ TYPEDEF __WCHAR_TYPE__ wchar_t; #else TYPEDEF long wchar_t; #endif +#endif TYPEDEF long wint_t; TYPEDEF long wctrans_t; TYPEDEF long wctype_t; diff --git a/arch/x86_64/bits/alltypes.h.sh b/arch/x86_64/bits/alltypes.h.sh index 19843bd3..10fc3d52 100755 --- a/arch/x86_64/bits/alltypes.h.sh +++ b/arch/x86_64/bits/alltypes.h.sh @@ -21,7 +21,9 @@ TYPEDEF long ssize_t; TYPEDEF long ptrdiff_t; TYPEDEF __builtin_va_list va_list; +#ifndef __cplusplus TYPEDEF int wchar_t; +#endif TYPEDEF int wint_t; TYPEDEF int wctrans_t; TYPEDEF int wctype_t;