Description
Is your feature request related to a problem? Please describe.
I'm always frustrated when I'm trying to work with the code.
Describe the solution you'd like
I would like to
- use as few different platform, toolchain, compiler and c++ versions as possible,
- upgrade the C++ version to at least C++17 for all environments,
- upgrade to platform version to the latest working one,
- upgrade the compiler to the latest possible version.
Describe alternatives you've considered
Keeping everything as is is an option. Upgrading only parts of the above are options.
Additional context
There are some things I have been wanting to work on for time, but I don't want to deal ancient compilers and c++ versions. Currently we are bound to C++11 (except for esp8266, which compiles using C++17). Additionally, some of the compilers are so old, they lack support some basic flags and pragmas, such as changing optimization level for specific functions.
So far, when asking about this, I have gotten some vague answers there used to be some issues with some combinations of boards and platform version, but never any specifics. So, I would like this issue to be used to document:
a) what those issues are exactly, so that they can be tested with newer versions of things.
b) what would need to happen for this to work. For example: Wait for bug x to be fixed; drop support for older board y; upgrade only compiler but not platform for environment z.
With this documented, it should then be possible to discuss and estimate the impact and amount of work that would be, as well as what parts can or cannot be upgraded.