diff --git a/NEWS b/NEWS index 6553fbef0..6f50551f7 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,7 @@ ver 0.20.22 (not yet released) - now runs as a service - add button to start/stop MPD - add option to auto-start on boot +* work around clang bug leading to crash * install the SVG icon ver 0.20.21 (2018/08/17) diff --git a/src/input/Error.hxx b/src/input/Error.hxx index b52b9d06b..0811abc68 100644 --- a/src/input/Error.hxx +++ b/src/input/Error.hxx @@ -30,7 +30,15 @@ * exist? This function attempts to recognize exceptions thrown by * various input plugins. */ +#ifndef __clang__ +/* the "pure" attribute must be disabled because it triggers a clang + bug, wrongfully leading to std::terminate() even though the + function catches all exceptions thrown by std::rethrow_exception(); + this can be reproduced with clang 7 from Android NDK r18b and on + clang 6 on FreeBSD + (https://github.com/MusicPlayerDaemon/MPD/issues/373) */ gcc_pure +#endif bool IsFileNotFound(std::exception_ptr e);