From: Bruno Haible Date: Sat, 23 Mar 2019 18:53:22 +0000 (+0100) Subject: noreturn: In C++ mode with clang, use _Noreturn as fallback. X-Git-Tag: v1.0~5005 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da77d28dc287c7d60297e30d3876e559dbe3619e;p=thirdparty%2Fgnulib.git noreturn: In C++ mode with clang, use _Noreturn as fallback. Reported by Akim Demaille. * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when [[noreturn]] would not work, use _Noreturn instead. --- diff --git a/ChangeLog b/ChangeLog index 457caa9ad9..14bdd0979d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2019-03-23 Bruno Haible + + noreturn: In C++ mode with clang, use _Noreturn as fallback. + Reported by Akim Demaille. + * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when + [[noreturn]] would not work, use _Noreturn instead. + 2019-03-22 Akim Demaille libtextstyle-optional: Fix compiler warnings. diff --git a/lib/noreturn.h b/lib/noreturn.h index 3ceeaf5908..57e9a884bd 100644 --- a/lib/noreturn.h +++ b/lib/noreturn.h @@ -74,6 +74,9 @@ # if (__cplusplus >= 201103 && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ || (_MSC_VER >= 1900) # define _GL_NORETURN_FUNC [[noreturn]] + /* clang++ supports the _Noreturn keyword, but g++ doesn't. */ +# elif defined __clang__ +# define _GL_NORETURN_FUNC _Noreturn # else # define _GL_NORETURN_FUNC /* empty */ # endif