]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2128] add check for [[noreturn]]
authorRazvan Becheriu <razvan@isc.org>
Mon, 18 Oct 2021 16:17:31 +0000 (19:17 +0300)
committerRazvan Becheriu <razvan@isc.org>
Mon, 18 Oct 2021 16:17:31 +0000 (19:17 +0300)
m4macros/ax_cpp11.m4

index 99457f9491df253e2b5a74822f030bc923110e7c..e8985241fc22a5e37a2f208acb97b61583167c5f 100644 (file)
@@ -225,6 +225,26 @@ for retry in "none" "--std=c++11" "--std=c++0x" "--std=c++1x" "fail"; do
                 [AC_MSG_RESULT([no])
                  continue])
 
+        AC_MSG_CHECKING(noreturn support)
+        feature="noreturn"
+        CPPFLAGS_SAVED=${CPPFLAGS}
+        CPPFLAGS="-Werror $CPPFLAGS"
+        AC_COMPILE_IFELSE(
+                [AC_LANG_PROGRAM(
+                        [#include <cstdlib>
+                         [[[noreturn]]] void f() {exit(0);}],
+                        [int i = 0;
+                         switch (i) {
+                         case 0:
+                         f();
+                         default:
+                         break;
+                         }])],
+                [AC_MSG_RESULT([yes])],
+                [AC_MSG_RESULT([no])
+                 continue])
+         CPPFLAGS=$CPPFLAGS_SAVED
+
          AC_MSG_CHECKING(chrono support)
          feature="chrono"
          AC_COMPILE_IFELSE(