Boost logo

Boost :

Subject: Re: [boost] [config] Variadic template macros in gcc header
From: Daniel James (dnljms_at_[hidden])
Date: 2010-11-22 08:36:57


On 21 November 2010 17:49, Edward Diener <eldiener_at_[hidden]> wrote:
>
> "On a standard-compliant compiler, shared_ptr supports compilation with an
> empty config.hpp. This will no longer be the case after this patch. "
>
> Evidently with an empty config.h using the old BOOST_HAS_ macros neither
> BOOST_HAS_VARIADIC_TMPL nor BOOST_HAS_RVALUE_REFS will be defined therefore
> causing shared_ptr not to use them. Similarly with an empty config.h both
> BOOST_NO_VARIADIC_TEMPLATES and BOOST_NO_RVALUE_REFERENCES will not be
> defined causing shared_ptr to use both features even if the compiler does
> not support them. That seems to be what Peter Dimov is saying.

Yes, I thought it was pretty clear.

> But that
> looks like a problem with all the BOOST_NO_ macros since an empty config.h
> will never have any of those macros defined.

Boost used to only use BOOST_NO_ macros for C++03 features for this
reason. The decision was made to target C++0x compilers a while back,
which is why the old macros for C++0x features were deprecated and
replaced with the new macros. But Peter wants to target C++03
compilers, so he still uses the old deprecated macros.

> But that brings up the question of what is meant by a "standard-compliant"
> compiler.

He meant the current standard at the time of writing, ie. C++03 (but
that doesn't mean he'll necessarily change as soon as C++0x is fully
standardised).

> If Boost really supposed to be compiled by a standard-compliant
> compiler

Peter was only writing about his own libraries. He hasn't tried to
influence the rest of boost. I find his position understandable since,
for a lot of people, his libraries are essential building blocks for
C++ development, so reliability and ease of use is more important than
using the latest C++ features.

I seem to have become his proxy in this. That's not a good idea as
I'll end up misrepresenting him in some way (or maybe have already).
If you want to take this further, I'd suggest starting a new thread
with his libraries in the subject line.

Daniel


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk