[gdal-dev] C++11 timeline

Kurt Schwehr schwehr at gmail.com
Thu Jan 5 07:08:46 PST 2017


A ping to bring the topic of C++11 back to the front post holidays.

Thoughts?

On Fri, Dec 23, 2016 at 10:05 AM, Kurt Schwehr <schwehr at gmail.com> wrote:

> Hi all,
>
> I would like to continue the C++11 discussion over the next couple weeks
> while many people are on slower development cycles with a proposal:
>
> * Starting 2017-Mar-01, we switch GDAL trunk to require C++11 support from
> the compiler.
> * All prior branches would stick with their existing requirements for
> C++03 support
>
> I had come up with a bunch of other things for a timeline, but they all
> see like noise after Even pointed out a whole ton of issues my thoughts.
> This isn't as aggressive as I would like, but it would definitely help
> reduce the maintenance burden on humans and reduce the test load for
> continuous integration.  I removed explicit mention of OS or compiler
> versions which I had in my initial thoughts.
>
> This would not be a free-for-all on C++11 features.  I think we would want
> to just start with removing some of the macros and workarounds that are
> currently in the code base.  Until we decide to go forward with other
> features, the main changes that would happen in C++ only code after this
> would be:
>
> - Change NULL to nullptr
> - Drop virtual when using the override keyword (this becomes a req with
> C++17)
> - CPL_OVERRIDE -> override
> - Remove HAVE_CXX11 #ifs
> - And maybe some other things I missed
>
> Once those are all done, we can then discuss when to allow things like
> unique_ptr internally (which will allow some serious simplification of some
> code).
>
> Then at some later time, we can discuss what API changes to allow, when to
> require C++14, C++17, C11, etc.
>
> Thoughts?
>
> -kurt
>
> e.g.
>
> find . -name \*.cpp -o -name \*.h | xargs grep -i override | grep virtual
> | wc -l
>     3998
>
> find . -name \*.cpp -o -name \*.h | xargs grep CPL_OVERRIDE | wc -l
>      712
>
> find . -name \*.cpp -o -name \*.h | xargs grep HAVE_CXX11 | wc -l
>       36
>
>


-- 
--
http://schwehr.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170105/950bc601/attachment.html>


More information about the gdal-dev mailing list