I have been asked if armcc supports C++17. I know a few years ago it supported some of C++14, but what about now in 2019? I know IAR has taken a huge stride forward into supporting C++17. This question has two components:
How much of the core C++17 language constructs is currently supported?
What libraries are supported (and on which architectures)?
Hi,
I work in the Product Management team for the Arm Compiler and would like to know more about your interest in C++17.
You mentioned "armcc" which refers to the legacy Arm Compiler 5 product. Since 2014, Arm Compiler 5 (armcc) has been superseded by Arm Compiler 6 (armclang) which is based on LLVM Clang technology.
Arm Compiler 5 has not been in active development for a few years now therefore has full support for up to C++11 language support.
Arm Compiler 6, on the other hand, has full production support for C++11 and C++14. You can refer to the supported languages in Table 2-6 and their exceptions in Table 2-7 of the Arm Compiler 6 User Guide. C++17, is supported as a Community feature in the Arm Compiler 6. This means that C++17 support in Arm Compiler 6 is pre-release, meaning it is fairly stable but not full product quality yet. There is support for C++17 constructs introduced prior to Clang 8 and for most libraries that doesn't need to interact with the platform or linker.
We have plans to productize the support for C++17 in Arm Compiler 6 and would like to know more about your interest in C++17 or any other features.
Best regards,
Peterson