don't define wchar_t on c++
authorRich Felker <dalias@aerifal.cx>
Sat, 15 Oct 2011 04:28:49 +0000 (00:28 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 15 Oct 2011 04:28:49 +0000 (00:28 -0400)
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.

arch/arm/bits/alltypes.h.sh
arch/i386/bits/alltypes.h.sh
arch/x86_64/bits/alltypes.h.sh

index 11f1d93f15f76d5e69e7ef016319cc33bbc1e15a..af73e6647dcbb47ffe22bd3a643a7a7e0a3e154b 100755 (executable)
@@ -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;
index 672d6a457b031b7352c39a8510765981fb46353c..5aacc2931a38fef187310b66cde0a7de1338bb23 100755 (executable)
@@ -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;
index 19843bd388c05b5c9c1db3682b1e1c8a0896800f..10fc3d52f2273ea1e4fe96ef88a9cad76f89cb8c 100755 (executable)
@@ -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;