The year is 2015, and C++14 has been implemented to a great extent in GCC. A feature that has been extended from C++11 is, are
constexpr functions. In C++14, these can be far more complicated than before (restricted to only a return-statement). The reason that this is relevant to Arduino is that this could make e.g.
digitalWrite significantly faster. The current implementation has to go through lookup tables to match the pin-number to the correct registers, which takes time. Third party implementations like
digitalWriteFast make sure these lookups are performed during compile-time when possible.
However, with C++14's enhanced
constexpr functions, this might be done all at compile-time in the standard Arduino implementation without losing backward compatibility (it's as easy as adding
constexpr to the function declaration). I'm aware that this is not implemented in the current avr-gcc version (
4.8) yet, but I'm curious if such optimizations are considered given the evolving C++ standard. If not, I will consider contributing to the source myself. That seems like a fun and useful project.
As a side-question: does anyone have any idea when avr-gcc 5.x comes around? I couldn't find anything online...