[gdal-dev] Call for discussion on RFC68: C++11 compilation mode

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[gdal-dev] Call for discussion on RFC68: C++11 compilation mode

Kurt Schwehr-2
Hi all,

This is a call for discussion on RFC68 to set C++11 to be the minimum C++ language version for GDAL trunk.  I've drafted the RFC based on work by Mateusz.


There was initial discussions back in January of this year:


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Even Rouault-2

Hi Tamas,

 

Unless I'm mistaken your gisinternals.com builds don't include MSVC 2015 currently. Right ? Do you have any plans to do so ? Currently the GDAL AppVeyor target uses SDKSs from gisinternals to do builds with a number of third-party libraries.

 

Even

 

>

> This is a call for discussion on RFC68 to set C++11 to be the minimum C++

> language version for GDAL trunk. I've drafted the RFC based on work by

> Mateusz.

>

> https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

>

> There was initial discussions back in January of this year:

>

> https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786

>

> Cheers,

> -kurt

> Engineer at Google

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Manuel GRIZONNET
Hi all,

just want to share with you that we've got the same discussion recently in the orfeo toolbox project and we finally decide to move directly to c++14 in the next release (6.2). It is a more recent standard with for sure less new features than in c++11 but yet useful. Moreover it does not change a lot the minimum compiler version (gcc min version is 4.9 I think for c++14).

Will be glad to exchange also with you on strategies, pro/cons to then modernize the code.

You can find more information about the discussion about c++11 vs c++14 and few experiments which have been made with clang-tidy for OTB in the following RFComments and RFChanges:

https://wiki.orfeo-toolbox.org/index.php/Request_for_Comments-36:_Move_OTB_to_C%2B%2B14

https://wiki.orfeo-toolbox.org/index.php/Request_for_Changes-95:_Compile_OTB_with_C%2B%2B14_by_default

my 2 cents.

Regards,

--

Manuel GRIZONNET
CNES - DCT/SI/AP - BPI 1219
18, avenue Edouard Belin
31401 Toulouse Cedex 09 - France
Tel: +33 561 282 630 - Fax: +33 561 283 109

De : gdal-dev [[hidden email]] de la part de Even Rouault [[hidden email]]
Envoyé : lundi 14 août 2017 19:02
À : Tamas Szekeres
Cc : [hidden email]
Objet : Re: [gdal-dev] Call for discussion on RFC68: C++11 compilation mode

Hi Tamas,

 

Unless I'm mistaken your gisinternals.com builds don't include MSVC 2015 currently. Right ? Do you have any plans to do so ? Currently the GDAL AppVeyor target uses SDKSs from gisinternals to do builds with a number of third-party libraries.

 

Even

 

>

> This is a call for discussion on RFC68 to set C++11 to be the minimum C++

> language version for GDAL trunk. I've drafted the RFC based on work by

> Mateusz.

>

> https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

>

> There was initial discussions back in January of this year:

>

> https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786

>

> Cheers,

> -kurt

> Engineer at Google

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Kurt Schwehr-2
Hi Manuel,

Thanks for your thoughts!  I added a link to the OTB RFC.


-kurt

On Mon, Aug 14, 2017 at 6:44 PM, Grizonnet Manuel <[hidden email]> wrote:
Hi all,

just want to share with you that we've got the same discussion recently in the orfeo toolbox project and we finally decide to move directly to c++14 in the next release (6.2). It is a more recent standard with for sure less new features than in c++11 but yet useful. Moreover it does not change a lot the minimum compiler version (gcc min version is 4.9 I think for c++14).

Will be glad to exchange also with you on strategies, pro/cons to then modernize the code.

You can find more information about the discussion about c++11 vs c++14 and few experiments which have been made with clang-tidy for OTB in the following RFComments and RFChanges:

https://wiki.orfeo-toolbox.org/index.php/Request_for_Comments-36:_Move_OTB_to_C%2B%2B14

https://wiki.orfeo-toolbox.org/index.php/Request_for_Changes-95:_Compile_OTB_with_C%2B%2B14_by_default

my 2 cents.

Regards,

--

Manuel GRIZONNET
CNES - DCT/SI/AP - BPI 1219
18, avenue Edouard Belin
31401 Toulouse Cedex 09 - France
Tel: +33 561 282 630 - Fax: +33 561 283 109

De : gdal-dev [[hidden email]] de la part de Even Rouault [[hidden email]]
Envoyé : lundi 14 août 2017 19:02
À : Tamas Szekeres
Cc : [hidden email]
Objet : Re: [gdal-dev] Call for discussion on RFC68: C++11 compilation mode

Hi Tamas,

 

Unless I'm mistaken your gisinternals.com builds don't include MSVC 2015 currently. Right ? Do you have any plans to do so ? Currently the GDAL AppVeyor target uses SDKSs from gisinternals to do builds with a number of third-party libraries.

 

Even

 

>

> This is a call for discussion on RFC68 to set C++11 to be the minimum C++

> language version for GDAL trunk. I've drafted the RFC based on work by

> Mateusz.

>

> https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

>

> There was initial discussions back in January of this year:

>

> https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786

>

> Cheers,

> -kurt

> Engineer at Google

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev



--

_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Even Rouault-2
In reply to this post by Kurt Schwehr-2

On lundi 14 août 2017 09:44:36 CEST Kurt Schwehr wrote:

> Hi all,

>

> This is a call for discussion on RFC68 to set C++11 to be the minimum C++

> language version for GDAL trunk. I've drafted the RFC based on work by

> Mateusz.

>

> https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

>

> There was initial discussions back in January of this year:

>

> https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786

>

 

Kurt,

 

There's one aspect that doesn't appear clearly to me in the RFC text, which is requirements for user C++ code using the GDAL C++ API. I presume that external code will also have to be compiled in C++11 mode too (because of nullptr or override keywords appearing in headers like gcore/gdal_priv.h for example). Would probably be worth making that explicit (perhaps in "Backward compatibility" paragraph)

 

Editorial remarks:

* the reference to "Move OTB to C++14" is after "There are a few related past RFCs that have never been adopted but strongly relate to RFC 68", but OTB C++14 has been adopted as far as I can see

* the reference to CMake in "If accepted, currently available build configurations (Autotools, CMake, NMake)" doesn't apply for GDAL. Regarding nmake impacts, there won't be much, apart perhaps removing references to MSVC versions older than the new minimum one that will be supported.

 

Even

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Kurt Schwehr-2
Thanks for the feedback!   I will fix those things today

On Aug 16, 2017 5:36 AM, "Even Rouault" <[hidden email]> wrote:

On lundi 14 août 2017 09:44:36 CEST Kurt Schwehr wrote:

> Hi all,

>

> This is a call for discussion on RFC68 to set C++11 to be the minimum C++

> language version for GDAL trunk. I've drafted the RFC based on work by

> Mateusz.

>

> https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

>

> There was initial discussions back in January of this year:

>

> https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786

>

 

Kurt,

 

There's one aspect that doesn't appear clearly to me in the RFC text, which is requirements for user C++ code using the GDAL C++ API. I presume that external code will also have to be compiled in C++11 mode too (because of nullptr or override keywords appearing in headers like gcore/gdal_priv.h for example). Would probably be worth making that explicit (perhaps in "Backward compatibility" paragraph)

 

Editorial remarks:

* the reference to "Move OTB to C++14" is after "There are a few related past RFCs that have never been adopted but strongly relate to RFC 68", but OTB C++14 has been adopted as far as I can see

* the reference to CMake in "If accepted, currently available build configurations (Autotools, CMake, NMake)" doesn't apply for GDAL. Regarding nmake impacts, there won't be much, apart perhaps removing references to MSVC versions older than the new minimum one that will be supported.

 

Even

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Mateusz Loskot
In reply to this post by Kurt Schwehr-2
On 14 August 2017 at 18:44, Kurt Schwehr <[hidden email]> wrote:
> Hi all,
>
> This is a call for discussion on RFC68 to set C++11 to be the minimum C++
> language version for GDAL trunk.  I've drafted the RFC based on work by
> Mateusz.
>
>   https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

Kurt,

In the GEOS RFC 5 I was not entirely correct regarding C++14 status in
compilers:

* GCC supports C++14 in GCC 5, and made C++14 the default C++ standard in GCC 6
* MSVC supports C++14 in Visual Studio 2017, not 2015.

Although I don't think GDAL codebase would benefit from C++14 features,
so there seem to be no practical benefit from jumping directly to
C++14 (as OTB did),
it indeed is important to ensure that GDAL compiles C++14 mode fine.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Tamas Szekeres
In reply to this post by Even Rouault-2
Hi Even,

Yes, I'm planning to include msvc2015/2017 versions shortly.

Best regards,
Tamas

Sent from my iPhone

2017. aug. 14. dátummal, 19:02 időpontban Even Rouault <[hidden email]> írta:

> Hi Tamas,
>  
> Unless I'm mistaken your gisinternals.com builds don't include MSVC 2015 currently. Right ? Do you have any plans to do so ? Currently the GDAL AppVeyor target uses SDKSs from gisinternals to do builds with a number of third-party libraries.
>  
> Even
>  
> >
> > This is a call for discussion on RFC68 to set C++11 to be the minimum C++
> > language version for GDAL trunk. I've drafted the RFC based on work by
> > Mateusz.
> >
> > https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11
> >
> > There was initial discussions back in January of this year:
> >
> > https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786
> >
> > Cheers,
> > -kurt
> > Engineer at Google
>  
>  
> --
> Spatialys - Geospatial professional services
> http://www.spatialys.com
_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Tamas Szekeres
Hi Even,

The new SDK-s have now been added.

Best regards,

Tamas


2017-08-29 15:18 GMT+02:00 Tamas Szekeres <[hidden email]>:
Hi Even,

Yes, I'm planning to include msvc2015/2017 versions shortly.

Best regards,
Tamas

Sent from my iPhone

2017. aug. 14. dátummal, 19:02 időpontban Even Rouault <[hidden email]> írta:

> Hi Tamas,
>
> Unless I'm mistaken your gisinternals.com builds don't include MSVC 2015 currently. Right ? Do you have any plans to do so ? Currently the GDAL AppVeyor target uses SDKSs from gisinternals to do builds with a number of third-party libraries.
>
> Even
>
> >
> > This is a call for discussion on RFC68 to set C++11 to be the minimum C++
> > language version for GDAL trunk. I've drafted the RFC based on work by
> > Mateusz.
> >
> > https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11
> >
> > There was initial discussions back in January of this year:
> >
> > https://lists.osgeo.org/pipermail/gdal-dev/2017-January/thread.html#45786
> >
> > Cheers,
> > -kurt
> > Engineer at Google
>
>
> --
> Spatialys - Geospatial professional services
> http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Even Rouault-2

Hi Tamas,

 

this is great! Thanks

 

Even

 

> Hi Even,

>

> The new SDK-s have now been added.

>

> Best regards,

>

> Tamas

>

> 2017-08-29 15:18 GMT+02:00 Tamas Szekeres <[hidden email]>:

> > Hi Even,

> >

> > Yes, I'm planning to include msvc2015/2017 versions shortly.

> >

> > Best regards,

> > Tamas

> >

> > Sent from my iPhone

> >

> > 2017. aug. 14. dátummal, 19:02 időpontban Even Rouault <

> >

> > [hidden email]> írta:

> > > Hi Tamas,

> > >

> > > Unless I'm mistaken your gisinternals.com builds don't include MSVC

> >

> > 2015 currently. Right ? Do you have any plans to do so ? Currently the

> > GDAL

> > AppVeyor target uses SDKSs from gisinternals to do builds with a number of

> > third-party libraries.

> >

> > > Even

> > >

> > > > This is a call for discussion on RFC68 to set C++11 to be the minimum

> >

> > C++

> >

> > > > language version for GDAL trunk. I've drafted the RFC based on work by

> > > > Mateusz.

> > > >

> > > > https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

> > > >

> > > > There was initial discussions back in January of this year:

> > > >

> > > > https://lists.osgeo.org/pipermail/gdal-dev/2017-

> >

> > January/thread.html#45786

> >

> > > > Cheers,

> > > > -kurt

> > > > Engineer at Google

> > >

> > > --

> > > Spatialys - Geospatial professional services

> > > http://www.spatialys.com

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call for discussion on RFC68: C++11 compilation mode

Kurt Schwehr-2

On Tue, Sep 5, 2017 at 2:46 AM, Even Rouault <[hidden email]> wrote:

Hi Tamas,

 

this is great! Thanks

 

Even

 

> Hi Even,

>

> The new SDK-s have now been added.

>

> Best regards,

>

> Tamas

>

> 2017-08-29 15:18 GMT+02:00 Tamas Szekeres <[hidden email]>:

> > Hi Even,

> >

> > Yes, I'm planning to include msvc2015/2017 versions shortly.

> >

> > Best regards,

> > Tamas

> >

> > Sent from my iPhone

> >

> > 2017. aug. 14. dátummal, 19:02 időpontban Even Rouault <

> >

> > [hidden email]> írta:

> > > Hi Tamas,

> > >

> > > Unless I'm mistaken your gisinternals.com builds don't include MSVC

> >

> > 2015 currently. Right ? Do you have any plans to do so ? Currently the

> > GDAL

> > AppVeyor target uses SDKSs from gisinternals to do builds with a number of

> > third-party libraries.

> >

> > > Even

> > >

> > > > This is a call for discussion on RFC68 to set C++11 to be the minimum

> >

> > C++

> >

> > > > language version for GDAL trunk. I've drafted the RFC based on work by

> > > > Mateusz.

> > > >

> > > > https://trac.osgeo.org/gdal/wiki/rfc68_cplusplus11

> > > >

> > > > There was initial discussions back in January of this year:

> > > >

> > > > https://lists.osgeo.org/pipermail/gdal-dev/2017-

> >

> > January/thread.html#45786

> >

> > > > Cheers,

> > > > -kurt

> > > > Engineer at Google

> > >

> > > --

> > > Spatialys - Geospatial professional services

> > > http://www.spatialys.com

 

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com




--

_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev