| musl gcc5 fixes |
| |
| Fetch from: |
| http://git.alpinelinux.org/cgit/aports/plain/main/mpd/musl-gcc5-fixes.patch |
| |
| Problem has been reported upstream and closed with WONTFIX: |
| http://bugs.musicpd.org/view.php?id=4387 |
| http://bugs.musicpd.org/view.php?id=4110 |
| |
| however... |
| |
| POSIX does not permit using PTHREAD_COND_INITIALIZER except for static |
| initialization, and certainly does not permit using it as a value |
| |
| also POSIX does not specify the type of the object (it's opaque) so if |
| there are any types for which their code would be invalid C++, then their |
| code is invalid |
| |
| also, volatile in the type is necessary. without that, LTO can break the code. |
| |
| Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> |
| |
| --- ./src/notify.hxx.orig |
| +++ ./src/notify.hxx |
| @@ -28,7 +28,7 @@ |
| Cond cond; |
| bool pending; |
| |
| -#if !defined(WIN32) && !defined(__NetBSD__) && !defined(__BIONIC__) |
| +#if defined(__GLIBC__) |
| constexpr |
| #endif |
| notify():pending(false) {} |
| --- ./src/thread/PosixCond.hxx.orig |
| +++ ./src/thread/PosixCond.hxx |
| @@ -41,7 +41,7 @@ |
| pthread_cond_t cond; |
| |
| public: |
| -#if defined(__NetBSD__) || defined(__BIONIC__) |
| +#if !defined(__GLIBC__) |
| /* NetBSD's PTHREAD_COND_INITIALIZER is not compatible with |
| "constexpr" */ |
| PosixCond() { |
| --- ./src/thread/PosixMutex.hxx.orig |
| +++ ./src/thread/PosixMutex.hxx |
| @@ -41,7 +41,7 @@ |
| pthread_mutex_t mutex; |
| |
| public: |
| -#if defined(__NetBSD__) || defined(__BIONIC__) |
| +#if !defined(__GLIBC__) |
| /* NetBSD's PTHREAD_MUTEX_INITIALIZER is not compatible with |
| "constexpr" */ |
| PosixMutex() { |
| |