cancel
Showing results for 
Search instead for 
Did you mean: 

C++17 support

Thomas Legrand
Associate II

Hello,

Do you plan to enable C++17 or gnu++17 option in the general setting panel for C++ ?

Seems like the already bundled GCC compiler support quite a few of C++17 features, and an update to latest gcc-arm would be nice too.

I'm mainly looking for chrono, std::apply, etc.

In the meantime I'll try to update it by myself (I hope it can be done).

Thomas.

3 REPLIES 3
Thomas Legrand
Associate II

Back,

Ok installed latest GSS-ARM version. It kinda works BUT:

  • you need to modify the executable in Atollic (it tries to call arm-atollic-*** instead of arm-eabi-***)
  • gcc doesn't complain if you keep std=g++14 and still add std=g++17 in the commande line
  • __cplusplus is defined by Atollic to an old version (2014xxL), you have to define a __cplusplus variable in your project with value 201703L.

All this is ok, no big deal.

More annoying is Atollic comes with CDT 9.3.0 which doesn't have support for c++17.

Updating to CDT 9.6 would add at least some (nested namespace anyone ?).

I don't think I can update CDT in Atollic on my own, can I ?

Thomas.

Thomas Legrand
Associate II

Back again,

Just for "fun" I installed barebone eclipse + CDT and a couple plugins to compile for ARM and debug with J-Link probes.

Spent some time configuring the thing, but it works not too bad, compilers gives me a sh*t ton of new warnings (including very interesting ones !!!), I can compile, flash and debug.

Except when debugging as soon as I enable ISRs step over sends me to ISR and not the next line of code.

This makes it totally useless.

So please, new version of Atollic with all good stuff you already have in it, but with updated versions of Eclipse, GCC, CDT, etc.

I wish I could update CDT on my own in Atollic ...

Let me know if you have some beta to test ;)

Thomas.

What "a couple plugins"? Have you tried to use the GNU MCU Eclipse?

https://gnu-mcu-eclipse.github.io/

https://gnu-mcu-eclipse.github.io/downloads/