Support for C++ Standards

On the host side, the compiler is consistent with Clang 15 and supports the complete C/C++ standard.

On the device, the C++11 standard is supported by default, with options to specify C++14, C++17, or C++20. Due to hardware restrictions, certain C++ runtime capabilities are not supported, such as:

  • Virtual functions
  • Virtual inheritance
  • Runtime recursion
  • Dynamic memory allocation using malloc, new, or free
  • STL
  • Runtime type identification (typeid)
  • File system I/O
  • Tuple in the standard library and algorithm operations (Related library function calls must be marked with aicore.)