← Back to team overview

kicad-developers team mailing list archive

Re: Proposal: Move to C++11

 

On 4/26/2013 9:18 PM, Dick Hollenbeck wrote:
On 04/26/2013 04:50 PM, Felix Morgner wrote:
Hi there

I think I haven't introduced myself yet. I'm a hobbyist programmer and mechanic by trade. I got into electronics about 2-3 years back with my first micro controller experience using an Arduino. Since then I've been searching for a good free open-source tool to draw schematics and pcb layouts. I quickly found KiCad and I really do like it. Since I am using mostly Apple Macintosh systems to do my programming and designing, I'm currently focusing my efforts on the OS X side of things regarding KiCad (I did some work on the KicadOSXBuilder script that was created by Miguel - Thanks again btw!). Most of my programming in the last couple of years was focused on Objective-C, but I'm moving back to C++ more and more. I hope to be able to contribute a good amount of work to KiCad.

Now on to my proposal/question. I propose to move forward and start using modern C++11 techniques to, for example, replace the BOOST_FOREACH with the range based for loop available in C++11. There might be other things where C++ might be of interest in KiCad. My question regarding this proposal is, if there are any reasons NOT to move to C++11.

Greetings, Felix


Hi Felix,

I thought we tried that about 7 months ago and we ran into problems.  IIRC it was that not
everyone is using a new enough compiler?  In any case you may want to search the commit
logs for that keyword, then use the date to go search the mailing list archives.

I introduced the command line option, that then forced us to switch to std::unique_ptr to
avoid getting yelled at by the compiler.

In the end, we scampered back to previous status quo and seem to be living happily ever since.

GCC 4.8 is fully 0x11 compliant with one minor exception (see the GCC website for more info) and I read recently that clang was just brought up to date in the development branch but AFAIK is not released yet. It will be at least 1-2 years before all of the major Linux distros are released with GCC 4.8 or the 0x11 compliant version of clang as the default compiler. Once that happens, we can begin moving to 0x11. Until that happens, our lives will not be much fun as Dick found out with std::unique_ptr.


So the answer to your question is definitely yes.  But I cannot tell you specifically.
You can find that yourself from the mailing list archives.


Dick


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp




Follow ups

References