I want to use the new features of C++14 on Linux. Which free compiler grants these features?

closed as too broad by muru, Archemar, Timothy Martin, DopeGhoti, X Tian Mar 10 '18 at 12:16

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    I guess you mean which "C++" compiler... – AlefSin Mar 8 '18 at 20:31
  • 2
    Just to be clear: the C++14 standard has been withdrawn (ie. is outdated). The current standard is C++17. The features you want haven't been "new" for a while now. – Stephen M. Webb Mar 8 '18 at 21:30
  • 7
    @StephenM.Webb: "Withdrawn" is a very strong word. The overwhelming majority of systems out there will just be migrating to C++14, if not C++11. Many will still be legacy C++98/03. C++14 does not cease to exist just because a newer alternative is available on cutting-edge toolchains. ISO has not "withdrawn" it, although from a pedantic point of view one might argue that C++17 supersedes it. – Lightness Races in Orbit Mar 8 '18 at 21:45
  • 5
    @LightnessRacesinOrbit "Withdrawn" is a very strong word but also a correct one. iso.org/standard/64029.html – richardb Mar 8 '18 at 22:44

According to the standards support pages for clang and gcc, you can use gcc >= 5.0 or clang >= 3.4. Most C++14 support was added in 4.9 for gcc, but a few features did not make it in until 5.0.


cppreference has a full feature-support matrix.

Clang and Cray(?) have full ++14 support.

GCC 5, Sun/Oracle C++ 5.15, and MSVC 19.10 support ++14 with the exception of "clarifying memory allocation".

GCC 7 has support for all ++17 features except "Standardization of Parallelism TS".


Default gcc compilers of Debian distro implements c++14. If your have RedHat distro try using devtoolset-6-gcc or devtoolset-6-gcc-c++

Not the answer you're looking for? Browse other questions tagged or ask your own question.