This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

armcc 6 - What level of support C++? 11, 14, 17?

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

  • 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 since Arm Compiler 6 is built over Clang, the language support in Clang should fairly work for all C++17 constructs introduced prior to Clang 8 and for most libraries that doesn't need to interact between the library and 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