[cmake-developers] C++11 all features available?

Sebastian Holtermann seblist at xwmw.org
Mon Aug 21 10:32:56 EDT 2017


Am Montag, 21. August 2017, 10:04:28 CEST schrieben Sie:
> On 08/21/2017 09:53 AM, Sebastian Holtermann wrote:
> > it looks like C++11 is now a requirement for CMake itself.
> 
> Yes.  We just merged this:
> 
>   https://gitlab.kitware.com/cmake/cmake/merge_requests/1132
> 
> but you beat us to the announcement.

I saw the MR last week and was delighted. The iterator type naming in `for` 
loops drove me mad.

> > But does this mean *all* the nice features from the std library can be
> > used?
> Not all.  We're still limited by some of the older C++11 compilers.
> We'll have to see how things go on nightly builds.  As limitations
> are found they can be documented in `Help/dev/source.rst`.
> 
> We will require std::unique_ptr at least.
> 
> >  - std::array
> 
> I think so but haven't tried it.
> 
> >  - std::basic_regex (and friends)
> 
> We still support GCC 4.8.  IIRC its standard library doesn't have
> the implementations in place.

That's a pitty, because cmsys::RegularExpression isn't thread safe.
Although it might be possible to make it so in a reasonable amount of time

> >  - std::thread (and friends)
> 
> No, at least not yet.  For now we're using libuv's thread primitives
> instead.  Either way anything that needs to build during bootstrap
> may not be able to use this.
> 
> >  - std::atomic_flag

Thread support would be nice because Autogen could be parallelized  perfectly.
Only it would require several utility methods to be thread safe as well. Many 
likely aren't though. I'll have a look at libuv.

-Sebastian




More information about the cmake-developers mailing list