[config] Macro for initializer-list literals?
We have BOOST_NO_CXX11_HDR_INITIALIZER_LIST, which tells us whether we can #include <initializer_list> and use std::initializer_list; we also have BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX, which tells us whether we can use X{ 1, 2 }, or X x{ 1, 2}. But we don't have a macro that tells us whether this: struct X { int a, b; }; void f( X x ) { } int main() { f( { 1, 2 } ); } is supported. This is a problem for http://www.boost.org/development/tests/develop/developer/output/Sandia-intel... because the test is guarded by BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX: https://github.com/boostorg/smart_ptr/blob/develop/test/allocate_shared_arra... and this macro is not set for Intel 13.1 in C++0x mode. Presumably the compiler allows braced initialization, but not braced literals.
participants (1)
-
Peter Dimov