Boost logo

Boost :

Subject: Re: [boost] Additional Test Configurations
From: Beman Dawes (bdawes_at_[hidden])
Date: 2016-06-08 10:21:56


On Wed, Jun 8, 2016 at 8:13 AM, Peter Dimov <lists_at_[hidden]> wrote:

> Tom Kent wrote:
>
>> From a lot of the discussing I've seen on the lists, it seems that
>> there's a lot of work going into C++ 11/14/1z development. I was thinking
>> it would be good to add some of those switches. Which ones? How many?
>>
>> Baseline Standard
>> -std=c++98 (I believe this is the default for all the g++/clang++
>> instances above)
>> -std=c++11/0x
>> -std=c++14/1y
>> -std=c++1z
>>
>
And now MSVC is also adding similar but different /std options.

>
> We definitely need those. Testing a recent version of g++ (or any version
> of clang) in its default 98 mode isn't very useful. We need c++11 at the
> very minimum because without it half of the code isn't tested.
>

+1

ISTM we are at the point where c++11 should be the default for gcc & clang,
and we spend ever less testing and development resources on c++98 for those
compilers. Likewise with MSVC we concentrate resources on more recent
release.

> On the other hand, testing all compilers in all modes would be
> impractical. Some sort of a compromise needs to be struck, but I'm not sure
> how.
>

Maybe divide the world into rapid, default, and legacy. Currently, rapid ==
latest, default == c++11, and legacy == c++98 and older compilers. Rapid
runs as often as possible, default runs daily, legacy into three groups
cycling every third day. Or something similar.

Incidentally, I see rapid as only a stopgap until we have a real continuous
integration mechanism in place

--Beman


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