|
Boost : |
Subject: Re: [boost] [function] new implementation
From: Domagoj Saric (domagoj.saric_at_[hidden])
Date: 2010-11-04 06:30:14
"Sebastian Redl" <sebastian.redl_at_[hidden]> wrote in message
news:4CD287ED.70301_at_getdesigned.at...
> On 04.11.2010 11:07, Domagoj Saric wrote:
>>
>> - integral constant expressions in static asserts (but so does Clang and
>> older GCCs)
>> - RVO with classes that derive from boost::noncopyable (but so does Clang
>> and all GCCs)...
>
> Have you filed bugs?
No, don't have time currently...waiting for the whole thing to stabilize...
> RVO in Clang is not very advanced yet, but the ICE thing with
> static_asserts would be something we want to fix.
It's not an ICE but a compilation failure...as if the expression resolves to
false...which OTOH resolves to true when checked at runtime with a
BOOST_ASSERT...
I was quite surprised to see that even the latest GCCs still have problems
with integral constant expressions (even when I use the constexpr syntax)...
ps. as a 'slight' off topic, since you seem to be involved in Clang
development, you might want to make Clang a lot less eager to examine
template code before it is instantiated (or add an option to that
effect)...this sometimes acts as 'spiralling compile time killer' because
it, for example, forces me to include headers that MSVC does not (or simply
fails to compile 3rd party libraries like RapidXML)...
The 'lazyness' of MSVC++ in template instantiation is probably one of the
reasons why even Clang does not come near to it when it comes to compilation
speed...
Also the claim that Clang uses less RAM than GCC is not (always) true...with
heavy template code (very convoluted mixtures of MPL and Fusion with
typelist lengths up to 60) I've seen it eat 20-30% more than GCC 4.6 (but it
still does compile faster, if you have enough RAM)...
-- "What Huxley teaches is that in the age of advanced technology, spiritual devastation is more likely to come from an enemy with a smiling face than from one whose countenance exudes suspicion and hate." Neil Postman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk