C++ Standard Support

The host supports the complete C/C++ standard, which is the same as that of Clang 15.

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

  • Virtual functions
  • Virtual inheritance
  • Runtime recursion
  • Dynamic malloc, new, and free
  • The STL is not supported.
  • Runtime typeid
  • File system I/O
  • Operations on the tuple and algorithm classes in the standard library (AICore needs to be marked for related library function calls)