From 0da9cc40f861293db7baba3854b44d73658b168d Mon Sep 17 00:00:00 2001 From: q66 Date: Wed, 22 May 2019 13:18:53 +0200 Subject: [PATCH] musl: properly deal with wchar_t definition on 32-bit powerpc Clang defines it to be int, gcc defines it to be long. The old code results in conflicts when building things with clang. This same change is already incorporated for i386 in musl upstream, so apply it to powerpc as well. --- srcpkgs/musl/patches/powerpc-wchar-t.patch | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/musl/patches/powerpc-wchar-t.patch diff --git a/srcpkgs/musl/patches/powerpc-wchar-t.patch b/srcpkgs/musl/patches/powerpc-wchar-t.patch new file mode 100644 index 00000000000..fb45d26f029 --- /dev/null +++ b/srcpkgs/musl/patches/powerpc-wchar-t.patch @@ -0,0 +1,19 @@ +Clang defines wchar_t as int, gcc as long on the target. They have the same +size, but are different types. i386 already has this same change, do it for +powerpc as well. + +--- arch/powerpc/bits/alltypes.h.in ++++ arch/powerpc/bits/alltypes.h.in +@@ -6,8 +6,12 @@ TYPEDEF __builtin_va_list va_list; + TYPEDEF __builtin_va_list __isoc_va_list; + + #ifndef __cplusplus ++#ifdef __WCHAR_TYPE__ ++TYPEDEF __WCHAR_TYPE__ wchar_t; ++#else + TYPEDEF long wchar_t; + #endif ++#endif + + TYPEDEF float float_t; + TYPEDEF double double_t;