diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-28 15:33:36 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-28 15:34:01 +0300 |
commit | 2d39a06105c717cc742ee37700441975ddd5f81e (patch) | |
tree | 37936399c7297c4557ab2f126fd3fa267e25bbf3 /meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch | |
parent | 47ca1972705ab5691c7774a426139ed01af20c55 (diff) | |
download | openbmc-2d39a06105c717cc742ee37700441975ddd5f81e.tar.xz |
meta-openembedded: subtree update:64224b92e5..18506b797b
Alistair Francis (3):
python3-pako: Initial commit of version 0.2.3
python3-msm: Initial commit of version 0.8.3
mycroft: Fixup remaining issues
Andreas Müller (11):
gtkmm3: upgrade 3.24.1 -> 3.24.2
geany: upgrade 1.34.1 -> 1.36
geany-plugins: upgrade 1.34 -> 1.36
libstemmer: initial add 2.0.0
appstream-glib: initial add 0.7.16
yelp-xsl: initial add 3.34.0
yelp-tools: initial add 3.32.2
yelp: initial add 3.34.0
glibmm: upgrade 2.60.0 -> 2.62.0
libsigc++-3: initial add 3.0.0
libgusb: initial add 0.3.0+
Ankit Navik (1):
glfw: Initial recipe for glfw
Armin Kuster (1):
renderdoc: package need opengl
Christophe PRIOUZEAU (91):
spawn-fcgi: Clarify BSD license variant
webmin: Clarify BSD license variant
cyrus-sasl: Clarify BSD license variant
libnet: Clarify BSD license variant
openhpi: Clarify BSD license variant
ptpd: Clarify BSD license variant
pure-ftpd: Clarify BSD license variant
corosync: Clarify BSD license variant
netkit-ftp: Clarify BSD license variant
netkit-rusers: Clarify BSD license variant
netkit-rwho: Clarify BSD license variant
netkit-telnet: Clarify BSD license variant
freediameter: Clarify BSD license variant
radiusclient: Clarify BSD license variant
celt051: Clarify BSD license variant
libmemcached: Clarify BSD license variant
spice-protocol: Clarify BSD license variant
tcpdump: Clarify BSD license variant
libnet: Clarify BSD license variant
iperf3: Clarify BSD license variant
rfkill: Clarify BSD license variant
postgresql: Clarify BSD license variant
cscope: Clarify BSD license variant
mcpp: Clarify BSD license variant
yasm: Clarify BSD license variant
cmpi binding: Clarify BSD license variant
hwloc: Clarify BSD license variant
liblogging: Clarify BSD license variant
pmdk: Clarify BSD license variant
openwsman: Clarify BSD license variant
redis: Clarify BSD license variant
scsirastools: Clarify BSD license variant
libopus: Clarify BSD license variant
opus-tools: Clarify BSD license variant
wavpack: Clarify BSD license variant
libvpx: Clarify BSD license variant
passwdqc: Clarify BSD license variant
testfloat: Clarify BSD license variant
Python: flask-sqlalchemy: Clarify BSD license variant
Python: meld3: Clarify BSD license variant
Python: ply: Clarify BSD license variant
Python: prompt toolkit: Clarify BSD license variant
Python: pocket sphinx: Clarify BSD license variant
Python: pysmi: Clarify BSD license variant
Python: speaklater: Clarify BSD license variant
Python: wrapt: Clarify BSD license variant
Python: h5py: Clarify BSD license variant
Python: xlrd: Clarify BSD license variant
Python: alembic: Clarify BSD license variant
Python: feed formatter: Clarify BSD license variant
Python: decorator: Clarify BSD license variant
Python: flask babel: Clarify BSD license variant
Python: falsk mail: Clarify BSD license variant
Python: isodate: Clarify BSD license variant
Python: passlib: Clarify BSD license variant
Python: pynetlinux: Clarify BSD license variant
Python: webcolors: Clarify BSD license variant
Python: werkzeug: Clarify BSD license variant
Python: evdev: Clarify BSD license variant
Python: netaddr: Clarify BSD license variant
Python: pretend: Clarify BSD license variant
Python: prettytable: Clarify BSD license variant
Python: pysocks: Clarify BSD license variant
Python: rdflib: Clarify BSD license variant
Python: wtforms: Clarify BSD license variant
Python: supervisor: Clarify BSD license variant
Python: pysnmp: Clarify BSD license variant
Python: flask pymongo: Clarify BSD license variant
Python: flask xstatic: Clarify BSD license variant
Python: lazy object proxy: Clarify BSD license variant
Python: whoosh: Clarify BSD license variant
Python: pyserial: Clarify BSD license variant
Python: pika: Clarify BSD license variant
Python: flask: Clarify BSD license variant
Python: flask wtf: Clarify BSD license variant
Python: click: Clarify BSD license variant
Python: babel: Clarify BSD license variant
Python: flask user: Clarify BSD license variant
Python: jsonpointer: Clarify BSD license variant
Python: xxhash: Clarify BSD license variant
Python: markdown: Clarify BSD license variant
Python: dnspython: Clarify BSD license variant
Python: flask bcrypt: Clarify BSD license variant
Python: jsonpatch: Clarify BSD license variant
Python: ndg httpsclient: Clarify BSD license variant
Python: flask scrypt: Clarify BSD license variant
Python: oauthlib: Clarify BSD license variant
Python: psutil: Clarify BSD license variant
Python: pyhamcrest: Clarify BSD license variant
Python: pyusb: Clarify BSD license variant
Python: ujson: Clarify BSD license variant
David Roman (1):
nlohmann-json: upgrade 3.3.0 -> 3.7.0
Diego Rondini (1):
ttf-roboto: add recipe
Hongxu Jia (2):
postfix: split /etc from ${PN} to ${PN}-cfg for ostree
postfix.inc: make deterministic build
Kai Kang (1):
blueman: fix fail to enable bluetooth issue
Khem Raj (8):
open-vm-tools: Upgrade to 11.0.1
libftdi: Add target deps for python bindings
mraa: Define PYTHON_LIBRARY and PYTHON_INCLUDE_DIR
upm: Define PYTHON_INCLUDE_DIR and PYTHON_LIBRARY for cmake
python3-astor: Upgrade to 0.8
python3-astor: Fix build with setuptools>=41.4
libiio: Inherit distutils3-base for packaging python files
open-vm-tools: Fix build by removing deprecated G_INLINE_FUNC
Michal Lower (1):
update python setuptools-scm from 2.1.0 to 3.3.3
Paolo Valente (1):
s-suite: push SRCREV to version 3.6
Richard Purdie (1):
dconf: Fix build with meson 0.52
Tanu Kaskinen (1):
pavucontrol: polish the recipe
Trevor Gamblin (1):
freeradius: fix PIDFile path in radiusd.service file
Zang Ruochen (18):
ltrace:Bug fix for data type length judgment
python-ipaddress: upgrade 1.0.22 -> 1.0.23
python-cryptography: upgrade 2.7 -> 2.8
python-cryptography-vectors: upgrade 2.7 -> 2.8
python-automat: upgrade 0.7.0 -> 0.8.0
python-asn1crypto: upgrade 1.0.1 -> 1.2.0
python-attrs: upgrade 19.2.0 -> 19.3.0
python-cffi: upgrade 1.13.0 -> 1.13.1
python-cmd2: upgrade 0.9.18 -> 0.9.19
python-pip: upgrade 19.3 -> 19.3.1
python-pyro4: upgrade 4.73 -> 4.77
python-pytun: upgrade 2.2.1 -> 2.3.0
python-astroid: upgrade 1.6.5 -> 2.3.2
python-aws-iot-device-sdk-python: upgrade 1.4.0 -> 1.4.7
python-backports-ssl: upgrade 3.5.0.1 -> 3.7.0.1
python-bcrypt: upgrade 3.1.4 -> 3.1.7
snort: upgrade 2.9.14.1 -> 2.9.15
wolfssl: upgrade 4.1.0 -> 4.2.0
Zheng Ruoqin (9):
byacc: upgrade 20180510 -> 20190617
drbd-utils: upgrade 9.10.0 -> 9.11.0
hwdata: upgrade 327 -> 328
multipath-tools: upgrade 0.8.2 -> 0.8.3
owfs: upgrade 3.2p2 -> 3.2p3
simple-mtpfs: upgrade to 0.3.0.
fuse3: upgrade 3.6.2 -> 3.7.0
f2fs-tools: upgrade 1.11.0 -> 1.13.0
xorriso: upgrade 1.4.0 -> 1.5.0
nick83ola (2):
python3-pyconnman: fix import issues with python3
python3-dbus-next: first commit of dbus-next 0.1.2
Change-Id: I6d500f726de3c5369b19c73e6ca7dc92aaf192d8
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch | 624 |
1 files changed, 0 insertions, 624 deletions
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch deleted file mode 100644 index 97ec37d4c..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch +++ /dev/null @@ -1,624 +0,0 @@ -From ccb3eb7b4ff65414a56e2294080885b8966da52b Mon Sep 17 00:00:00 2001 -From: Arun Raghavan <git@arunraghavan.net> -Date: Tue, 2 Feb 2016 17:01:47 +0530 -Subject: [PATCH 2/2] build-sys: Add m4 file for AX_CXX_COMPILE_STDCXX_11 - ---- - m4/ax_cxx_compile_stdcxx.m4 | 558 +++++++++++++++++++++++++++++++++++++++++ - m4/ax_cxx_compile_stdcxx_11.m4 | 39 +++ - 2 files changed, 597 insertions(+) - create mode 100644 m4/ax_cxx_compile_stdcxx.m4 - create mode 100644 m4/ax_cxx_compile_stdcxx_11.m4 - -diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 -new file mode 100644 -index 0000000..079e17d ---- /dev/null -+++ b/m4/ax_cxx_compile_stdcxx.m4 -@@ -0,0 +1,558 @@ -+# =========================================================================== -+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) -+# -+# DESCRIPTION -+# -+# Check for baseline language coverage in the compiler for the specified -+# version of the C++ standard. If necessary, add switches to CXXFLAGS to -+# enable support. VERSION may be '11' (for the C++11 standard) or '14' -+# (for the C++14 standard). -+# -+# The second argument, if specified, indicates whether you insist on an -+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -+# -std=c++11). If neither is specified, you get whatever works, with -+# preference for an extended mode. -+# -+# The third argument, if specified 'mandatory' or if left unspecified, -+# indicates that baseline support for the specified C++ standard is -+# required and that the macro should error out if no mode with that -+# support is found. If specified 'optional', then configuration proceeds -+# regardless, after defining HAVE_CXX${VERSION} if and only if a -+# supporting mode is found. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com> -+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com> -+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu> -+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com> -+# Copyright (c) 2015 Paul Norman <penorman@mac.com> -+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu> -+# -+# Copying and distribution of this file, with or without modification, are -+# permitted in any medium without royalty provided the copyright notice -+# and this notice are preserved. This file is offered as-is, without any -+# warranty. -+ -+#serial 1 -+ -+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro -+dnl (serial version number 13). -+ -+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl -+ m4_if([$1], [11], [], -+ [$1], [14], [], -+ [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])], -+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl -+ m4_if([$2], [], [], -+ [$2], [ext], [], -+ [$2], [noext], [], -+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl -+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], -+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], -+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false], -+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) -+ AC_LANG_PUSH([C++])dnl -+ ac_success=no -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, -+ ax_cv_cxx_compile_cxx$1, -+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [ax_cv_cxx_compile_cxx$1=yes], -+ [ax_cv_cxx_compile_cxx$1=no])]) -+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then -+ ac_success=yes -+ fi -+ -+ m4_if([$2], [noext], [], [dnl -+ if test x$ac_success = xno; then -+ for switch in -std=gnu++$1 -std=gnu++0x; do -+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, -+ $cachevar, -+ [ac_save_CXXFLAGS="$CXXFLAGS" -+ CXXFLAGS="$CXXFLAGS $switch" -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [eval $cachevar=yes], -+ [eval $cachevar=no]) -+ CXXFLAGS="$ac_save_CXXFLAGS"]) -+ if eval test x\$$cachevar = xyes; then -+ CXXFLAGS="$CXXFLAGS $switch" -+ ac_success=yes -+ break -+ fi -+ done -+ fi]) -+ -+ m4_if([$2], [ext], [], [dnl -+ if test x$ac_success = xno; then -+ dnl HP's aCC needs +std=c++11 according to: -+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf -+ dnl Cray's crayCC needs "-h std=c++11" -+ for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do -+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, -+ $cachevar, -+ [ac_save_CXXFLAGS="$CXXFLAGS" -+ CXXFLAGS="$CXXFLAGS $switch" -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [eval $cachevar=yes], -+ [eval $cachevar=no]) -+ CXXFLAGS="$ac_save_CXXFLAGS"]) -+ if eval test x\$$cachevar = xyes; then -+ CXXFLAGS="$CXXFLAGS $switch" -+ ac_success=yes -+ break -+ fi -+ done -+ fi]) -+ AC_LANG_POP([C++]) -+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then -+ if test x$ac_success = xno; then -+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) -+ fi -+ else -+ if test x$ac_success = xno; then -+ HAVE_CXX$1=0 -+ AC_MSG_NOTICE([No compiler with C++$1 support was found]) -+ else -+ HAVE_CXX$1=1 -+ AC_DEFINE(HAVE_CXX$1,1, -+ [define if the compiler supports basic C++$1 syntax]) -+ fi -+ -+ AC_SUBST(HAVE_CXX$1) -+ fi -+]) -+ -+ -+dnl Test body for checking C++11 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+) -+ -+ -+dnl Test body for checking C++14 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 -+) -+ -+ -+dnl Tests for new features in C++11 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ -+ -+// If the compiler admits that it is not ready for C++11, why torture it? -+// Hopefully, this will speed up the test. -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif __cplusplus < 201103L -+ -+#error "This is not a C++11 compiler" -+ -+#else -+ -+namespace cxx11 -+{ -+ -+ namespace test_static_assert -+ { -+ -+ template <typename T> -+ struct check -+ { -+ static_assert(sizeof(int) <= sizeof(T), "not big enough"); -+ }; -+ -+ } -+ -+ namespace test_final_override -+ { -+ -+ struct Base -+ { -+ virtual void f() {} -+ }; -+ -+ struct Derived : public Base -+ { -+ virtual void f() override {} -+ }; -+ -+ } -+ -+ namespace test_double_right_angle_brackets -+ { -+ -+ template < typename T > -+ struct check {}; -+ -+ typedef check<void> single_type; -+ typedef check<check<void>> double_type; -+ typedef check<check<check<void>>> triple_type; -+ typedef check<check<check<check<void>>>> quadruple_type; -+ -+ } -+ -+ namespace test_decltype -+ { -+ -+ int -+ f() -+ { -+ int a = 1; -+ decltype(a) b = 2; -+ return a + b; -+ } -+ -+ } -+ -+ namespace test_type_deduction -+ { -+ -+ template < typename T1, typename T2 > -+ struct is_same -+ { -+ static const bool value = false; -+ }; -+ -+ template < typename T > -+ struct is_same<T, T> -+ { -+ static const bool value = true; -+ }; -+ -+ template < typename T1, typename T2 > -+ auto -+ add(T1 a1, T2 a2) -> decltype(a1 + a2) -+ { -+ return a1 + a2; -+ } -+ -+ int -+ test(const int c, volatile int v) -+ { -+ static_assert(is_same<int, decltype(0)>::value == true, ""); -+ static_assert(is_same<int, decltype(c)>::value == false, ""); -+ static_assert(is_same<int, decltype(v)>::value == false, ""); -+ auto ac = c; -+ auto av = v; -+ auto sumi = ac + av + 'x'; -+ auto sumf = ac + av + 1.0; -+ static_assert(is_same<int, decltype(ac)>::value == true, ""); -+ static_assert(is_same<int, decltype(av)>::value == true, ""); -+ static_assert(is_same<int, decltype(sumi)>::value == true, ""); -+ static_assert(is_same<int, decltype(sumf)>::value == false, ""); -+ static_assert(is_same<int, decltype(add(c, v))>::value == true, ""); -+ return (sumf > 0.0) ? sumi : add(c, v); -+ } -+ -+ } -+ -+ namespace test_noexcept -+ { -+ -+ int f() { return 0; } -+ int g() noexcept { return 0; } -+ -+ static_assert(noexcept(f()) == false, ""); -+ static_assert(noexcept(g()) == true, ""); -+ -+ } -+ -+ namespace test_constexpr -+ { -+ -+ template < typename CharT > -+ unsigned long constexpr -+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept -+ { -+ return *s ? strlen_c_r(s + 1, acc + 1) : acc; -+ } -+ -+ template < typename CharT > -+ unsigned long constexpr -+ strlen_c(const CharT *const s) noexcept -+ { -+ return strlen_c_r(s, 0UL); -+ } -+ -+ static_assert(strlen_c("") == 0UL, ""); -+ static_assert(strlen_c("1") == 1UL, ""); -+ static_assert(strlen_c("example") == 7UL, ""); -+ static_assert(strlen_c("another\0example") == 7UL, ""); -+ -+ } -+ -+ namespace test_rvalue_references -+ { -+ -+ template < int N > -+ struct answer -+ { -+ static constexpr int value = N; -+ }; -+ -+ answer<1> f(int&) { return answer<1>(); } -+ answer<2> f(const int&) { return answer<2>(); } -+ answer<3> f(int&&) { return answer<3>(); } -+ -+ void -+ test() -+ { -+ int i = 0; -+ const int c = 0; -+ static_assert(decltype(f(i))::value == 1, ""); -+ static_assert(decltype(f(c))::value == 2, ""); -+ static_assert(decltype(f(0))::value == 3, ""); -+ } -+ -+ } -+ -+ namespace test_uniform_initialization -+ { -+ -+ struct test -+ { -+ static const int zero {}; -+ static const int one {1}; -+ }; -+ -+ static_assert(test::zero == 0, ""); -+ static_assert(test::one == 1, ""); -+ -+ } -+ -+ namespace test_lambdas -+ { -+ -+ void -+ test1() -+ { -+ auto lambda1 = [](){}; -+ auto lambda2 = lambda1; -+ lambda1(); -+ lambda2(); -+ } -+ -+ int -+ test2() -+ { -+ auto a = [](int i, int j){ return i + j; }(1, 2); -+ auto b = []() -> int { return '0'; }(); -+ auto c = [=](){ return a + b; }(); -+ auto d = [&](){ return c; }(); -+ auto e = [a, &b](int x) mutable { -+ const auto identity = [](int y){ return y; }; -+ for (auto i = 0; i < a; ++i) -+ a += b--; -+ return x + identity(a + b); -+ }(0); -+ return a + b + c + d + e; -+ } -+ -+ int -+ test3() -+ { -+ const auto nullary = [](){ return 0; }; -+ const auto unary = [](int x){ return x; }; -+ using nullary_t = decltype(nullary); -+ using unary_t = decltype(unary); -+ const auto higher1st = [](nullary_t f){ return f(); }; -+ const auto higher2nd = [unary](nullary_t f1){ -+ return [unary, f1](unary_t f2){ return f2(unary(f1())); }; -+ }; -+ return higher1st(nullary) + higher2nd(nullary)(unary); -+ } -+ -+ } -+ -+ namespace test_variadic_templates -+ { -+ -+ template <int...> -+ struct sum; -+ -+ template <int N0, int... N1toN> -+ struct sum<N0, N1toN...> -+ { -+ static constexpr auto value = N0 + sum<N1toN...>::value; -+ }; -+ -+ template <> -+ struct sum<> -+ { -+ static constexpr auto value = 0; -+ }; -+ -+ static_assert(sum<>::value == 0, ""); -+ static_assert(sum<1>::value == 1, ""); -+ static_assert(sum<23>::value == 23, ""); -+ static_assert(sum<1, 2>::value == 3, ""); -+ static_assert(sum<5, 5, 11>::value == 21, ""); -+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); -+ -+ } -+ -+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae -+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function -+ // because of this. -+ namespace test_template_alias_sfinae -+ { -+ -+ struct foo {}; -+ -+ template<typename T> -+ using member = typename T::member_type; -+ -+ template<typename T> -+ void func(...) {} -+ -+ template<typename T> -+ void func(member<T>*) {} -+ -+ void test(); -+ -+ void test() { func<foo>(0); } -+ -+ } -+ -+} // namespace cxx11 -+ -+#endif // __cplusplus >= 201103L -+ -+]]) -+ -+ -+dnl Tests for new features in C++14 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ -+ -+// If the compiler admits that it is not ready for C++14, why torture it? -+// Hopefully, this will speed up the test. -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif __cplusplus < 201402L -+ -+#error "This is not a C++14 compiler" -+ -+#else -+ -+namespace cxx14 -+{ -+ -+ namespace test_polymorphic_lambdas -+ { -+ -+ int -+ test() -+ { -+ const auto lambda = [](auto&&... args){ -+ const auto istiny = [](auto x){ -+ return (sizeof(x) == 1UL) ? 1 : 0; -+ }; -+ const int aretiny[] = { istiny(args)... }; -+ return aretiny[0]; -+ }; -+ return lambda(1, 1L, 1.0f, '1'); -+ } -+ -+ } -+ -+ namespace test_binary_literals -+ { -+ -+ constexpr auto ivii = 0b0000000000101010; -+ static_assert(ivii == 42, "wrong value"); -+ -+ } -+ -+ namespace test_generalized_constexpr -+ { -+ -+ template < typename CharT > -+ constexpr unsigned long -+ strlen_c(const CharT *const s) noexcept -+ { -+ auto length = 0UL; -+ for (auto p = s; *p; ++p) -+ ++length; -+ return length; -+ } -+ -+ static_assert(strlen_c("") == 0UL, ""); -+ static_assert(strlen_c("x") == 1UL, ""); -+ static_assert(strlen_c("test") == 4UL, ""); -+ static_assert(strlen_c("another\0test") == 7UL, ""); -+ -+ } -+ -+ namespace test_lambda_init_capture -+ { -+ -+ int -+ test() -+ { -+ auto x = 0; -+ const auto lambda1 = [a = x](int b){ return a + b; }; -+ const auto lambda2 = [a = lambda1(x)](){ return a; }; -+ return lambda2(); -+ } -+ -+ } -+ -+ namespace test_digit_seperators -+ { -+ -+ constexpr auto ten_million = 100'000'000; -+ static_assert(ten_million == 100000000, ""); -+ -+ } -+ -+ namespace test_return_type_deduction -+ { -+ -+ auto f(int& x) { return x; } -+ decltype(auto) g(int& x) { return x; } -+ -+ template < typename T1, typename T2 > -+ struct is_same -+ { -+ static constexpr auto value = false; -+ }; -+ -+ template < typename T > -+ struct is_same<T, T> -+ { -+ static constexpr auto value = true; -+ }; -+ -+ int -+ test() -+ { -+ auto x = 0; -+ static_assert(is_same<int, decltype(f(x))>::value, ""); -+ static_assert(is_same<int&, decltype(g(x))>::value, ""); -+ return x; -+ } -+ -+ } -+ -+} // namespace cxx14 -+ -+#endif // __cplusplus >= 201402L -+ -+]]) -diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4 -new file mode 100644 -index 0000000..09db383 ---- /dev/null -+++ b/m4/ax_cxx_compile_stdcxx_11.m4 -@@ -0,0 +1,39 @@ -+# ============================================================================ -+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html -+# ============================================================================ -+# -+# SYNOPSIS -+# -+# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional]) -+# -+# DESCRIPTION -+# -+# Check for baseline language coverage in the compiler for the C++11 -+# standard; if necessary, add switches to CXXFLAGS to enable support. -+# -+# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX -+# macro with the version set to C++11. The two optional arguments are -+# forwarded literally as the second and third argument respectively. -+# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for -+# more information. If you want to use this macro, you also need to -+# download the ax_cxx_compile_stdcxx.m4 file. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com> -+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com> -+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu> -+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com> -+# Copyright (c) 2015 Paul Norman <penorman@mac.com> -+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu> -+# -+# Copying and distribution of this file, with or without modification, are -+# permitted in any medium without royalty provided the copyright notice -+# and this notice are preserved. This file is offered as-is, without any -+# warranty. -+ -+#serial 14 -+ -+include([ax_cxx_compile_stdcxx.m4]) -+ -+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])]) --- -2.12.1 - |