configure.ac: add -funwind-tables
to work around clang bug
Replaces the workaround from commit
751fff07fb
which fixed only one of many
crash locations.
See:
https://github.com/MusicPlayerDaemon/MPD/issues/373
https://github.com/android-ndk/ndk/issues/831
https://bugs.llvm.org/show_bug.cgi?id=32611
This commit is contained in:
@@ -1354,6 +1354,11 @@ AX_APPEND_COMPILE_FLAGS([-fno-threadsafe-statics])
|
|||||||
AX_APPEND_COMPILE_FLAGS([-fmerge-all-constants])
|
AX_APPEND_COMPILE_FLAGS([-fmerge-all-constants])
|
||||||
AX_APPEND_COMPILE_FLAGS([-ffast-math])
|
AX_APPEND_COMPILE_FLAGS([-ffast-math])
|
||||||
AX_APPEND_COMPILE_FLAGS([-ftree-vectorize])
|
AX_APPEND_COMPILE_FLAGS([-ftree-vectorize])
|
||||||
|
|
||||||
|
dnl Workaround for clang bug
|
||||||
|
dnl https://bugs.llvm.org/show_bug.cgi?id=32611
|
||||||
|
AX_APPEND_COMPILE_FLAGS([-funwind-tables])
|
||||||
|
|
||||||
AC_LANG_POP
|
AC_LANG_POP
|
||||||
|
|
||||||
dnl ---------------------------------- debug ----------------------------------
|
dnl ---------------------------------- debug ----------------------------------
|
||||||
|
@@ -30,15 +30,7 @@
|
|||||||
* exist? This function attempts to recognize exceptions thrown by
|
* exist? This function attempts to recognize exceptions thrown by
|
||||||
* various input plugins.
|
* 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
|
gcc_pure
|
||||||
#endif
|
|
||||||
bool
|
bool
|
||||||
IsFileNotFound(std::exception_ptr e);
|
IsFileNotFound(std::exception_ptr e);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user