diff --git a/dune/common/debugallocator.hh b/dune/common/debugallocator.hh index a9ec69acc4c2ed92d262a3289de8690b0855dfc4..5786e004812f2b3c88eb83f8602ff69df22ae885 100644 --- a/dune/common/debugallocator.hh +++ b/dune/common/debugallocator.hh @@ -271,7 +271,7 @@ namespace Dune { ::new((void*)p)T(val); } -#if HAVE_VARIADIC_TEMPLATES || DOXYGEN +#if ( HAVE_VARIADIC_TEMPLATES && HAVE_RVALUE_REFERENCES ) || DOXYGEN //! construct an object of type T from variadic parameters //! \note works only with newer C++ compilers template<typename ... _Args> diff --git a/m4/cxx0x_variadic.m4 b/m4/cxx0x_variadic.m4 index ec64f385451fe4bb07862e9bf21b8f9661f9d38e..fadecf0f24e1c6ab158c2af5856a5043035cecc3 100644 --- a/m4/cxx0x_variadic.m4 +++ b/m4/cxx0x_variadic.m4 @@ -18,9 +18,9 @@ AC_DEFUN([VARIADIC_TEMPLATES_CHECK],[ } template<typename T1, typename... T> - int add_ints(T1 t1, T&&... t) + int add_ints(T1 t1, T... t) { - return t1 + add_ints(std::forward<T>(t)...); + return t1 + add_ints(t...); }], [ assert( 5 == add_ints(9,3,-5,-2) );