]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
noreturn: In C++ mode with clang, use _Noreturn as fallback.
authorBruno Haible <bruno@clisp.org>
Sat, 23 Mar 2019 18:53:22 +0000 (19:53 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 23 Mar 2019 18:53:22 +0000 (19:53 +0100)
Reported by Akim Demaille.

* lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
[[noreturn]] would not work, use _Noreturn instead.

ChangeLog
lib/noreturn.h

index 457caa9ad9f1c273a9133766a868b1371d5104fc..14bdd0979d8582914eb505092776e286207571a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-03-23  Bruno Haible  <bruno@clisp.org>
+
+       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  <akim@lrde.epita.fr>
 
        libtextstyle-optional: Fix compiler warnings.
index 3ceeaf5908baebce7abf911203079683a4d23929..57e9a884bd08462c6f39558d2c8b35eb08bb8da0 100644 (file)
@@ -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