<div dir="ltr">There has been lively discussion on if/when GDAL moves to require compilers with newer C and C++ standard versions.  This email is meant to fork the this discussion away from the local stack + memset -> std::vector discussion.  I'm trying to draft a proposal based on the discussion, but it is a lot hardered.<div class="gmail_signature"></div>
<div><br></div><div>I suggest folks think about starting off with an empty (or nearly empty) white list of features and give a look at documents like:</div><div><br></div><div><a href="https://chromium-cpp.appspot.com/">https://chromium-cpp.appspot.com/</a>. </div><div><br></div><div>GDAL is very different than Chromium, but I think it is great that they have a place for contributors to get a summary of what is considered okay and what is blacklisted.</div><div><br></div><div>We currently have experiments with override/final and std::mutex/lock_guard for those compiling with GDAL >= C++11.  I think starting off with nullptr might be a good and one of the simplest places to start.  Even suggested a while ago making nullptr be a #define to NULL for C++03 and we current have #ifdef NULL_AS_NULLPTR #define NULL nullptr in cpl_port.h, so it is already setup for people to try.</div></div>