summaryrefslogtreecommitdiffstats
path: root/m4macros
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2018-05-30 14:48:24 +0200
committerFrancis Dupont <fdupont@isc.org>2018-05-30 14:48:24 +0200
commit0473a9811c96d67469f171168e0e1ec8c66942fe (patch)
tree055da3a1909ffd53b1bce9f0676dfafaa3100b70 /m4macros
parent[master] Merge branch 'master' of ssh://git.kea.isc.org/git/kea (diff)
parent[5560] Added enum class and range-for tests (diff)
downloadkea-0473a9811c96d67469f171168e0e1ec8c66942fe.tar.xz
kea-0473a9811c96d67469f171168e0e1ec8c66942fe.zip
[master] Merged trac5560 (C++11 checks)
Diffstat (limited to 'm4macros')
-rw-r--r--m4macros/ax_cpp11.m429
1 files changed, 29 insertions, 0 deletions
diff --git a/m4macros/ax_cpp11.m4 b/m4macros/ax_cpp11.m4
index 9f3025ebff..17fbda1809 100644
--- a/m4macros/ax_cpp11.m4
+++ b/m4macros/ax_cpp11.m4
@@ -138,6 +138,35 @@ for retry in "none" "--std=c++11" "--std=c++0x" "--std=c++1x" "fail"; do
[AC_MSG_RESULT([no])
continue])
+ AC_MSG_CHECKING(enum class support)
+ feature="enum class"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [enum class FooBar {
+ FOO = 1,
+ BAR = 2
+ };],
+ [FooBar f = FooBar::FOO;
+ return (f == FooBar::FOO ? 1 : 2);])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ continue])
+
+ AC_MSG_CHECKING(range-for support)
+ feature="constexpr"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <vector>
+ std::vector<int> v = { 1, 2, 3, 4 };],
+ [int sum = 0;
+ for (auto i : v) {
+ sum += i;
+ }
+ return sum;])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ continue])
+
AC_MSG_CHECKING(lambda support)
feature="lambda"
AC_COMPILE_IFELSE(