[config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

Daniel James
Hi,

Once BOOST_NO_0X_HDR_INITIALIZER_LIST has been added to release, I
think we should remove BOOST_NO_INITIALIZER_LISTS. It's confusing
having both macros. BOOST_NO_INITIALIZER_LISTS is probably useless as
it only indicates compiler support and initializer lists can't really
be used without the header. I seem to be the only person who uses it,
so it might be okay to just remove it immediately or if not, deprecate
it and remove it in the next release. Does that sound okay?

Daniel
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

John Maddock
> Once BOOST_NO_0X_HDR_INITIALIZER_LIST has been added to release, I
> think we should remove BOOST_NO_INITIALIZER_LISTS. It's confusing
> having both macros. BOOST_NO_INITIALIZER_LISTS is probably useless as
> it only indicates compiler support and initializer lists can't really
> be used without the header. I seem to be the only person who uses it,
> so it might be okay to just remove it immediately or if not, deprecate
> it and remove it in the next release. Does that sound okay?

If a grep confirms that no one else is using it: then yes please do remove
it altogether.

Thanks, John.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

Beman Dawes
In reply to this post by Daniel James
On Tue, May 26, 2009 at 6:16 PM, Daniel James <[hidden email]>wrote:

> Hi,
>
> Once BOOST_NO_0X_HDR_INITIALIZER_LIST has been added to release, I
> think we should remove BOOST_NO_INITIALIZER_LISTS. It's confusing
> having both macros. BOOST_NO_INITIALIZER_LISTS is probably useless as
> it only indicates compiler support and initializer lists can't really
> be used without the header. I seem to be the only person who uses it,
> so it might be okay to just remove it immediately or if not, deprecate
> it and remove it in the next release. Does that sound okay?


Does it matter that some standard libraries might add <initializer_list>
even though the compiler doesn't have support yet?

--Beman
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

Daniel James
2009/5/28 Beman Dawes <[hidden email]>:
>
> Does it matter that some standard libraries might add <initializer_list>
> even though the compiler doesn't have support yet?

That's already the case for g++ 4.4 when not compiling in c++0x mode.
The contents are protected by a macro check but there's no warning or
error. I'd hope that BOOST_NO_0X_HDR_INITIALIZER_LIST isn't defined in
that case. The header is there but it's entirely useless.

Daniel
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

Beman Dawes
On Thu, May 28, 2009 at 5:20 PM, Daniel James <[hidden email]> wrote:
> 2009/5/28 Beman Dawes <[hidden email]>:
>>
>> Does it matter that some standard libraries might add <initializer_list>
>> even though the compiler doesn't have support yet?
>
> That's already the case for g++ 4.4 when not compiling in c++0x mode.
> The contents are protected by a macro check but there's no warning or
> error. I'd hope that BOOST_NO_0X_HDR_INITIALIZER_LIST isn't defined in
> that case. The header is there but it's entirely useless.

Boost.Config for libstdcpp3 is set up to report the C++0x headers as
not being present if !defined(__GXX_EXPERIMENTAL_CXX0X__), so we
should be OK. Let me know if there are any problems.

--Beman
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [config] Deprecate/remove BOOST_NO_INITIALIZER_LISTS

Daniel James
2009/5/29 Beman Dawes <[hidden email]>:
> On Thu, May 28, 2009 at 5:20 PM, Daniel James <[hidden email]> wrote:
>> 2009/5/28 Beman Dawes <[hidden email]>:
>>>
>>> Does it matter that some standard libraries might add <initializer_list>
>>> even though the compiler doesn't have support yet?
>>
>> That's already the case for g++ 4.4 when not compiling in c++0x mode.

Sorry, I was being dense and missed your point. I've had a look at the
Visual C++ 10 beta results and that has the situation you describe and
BOOST_NO_INITIALIZER_LISTS is required in that case.

I went ahead and added a check to config/suffix.hpp to set
BOOST_NO_INITIALIZER_LISTS if the headers aren't available:

https://svn.boost.org/trac/boost/changeset/53524/trunk

Daniel
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost