Unsupported Array Access - 2020.1 English

Vitis HLS Messaging (UG1448)

Document ID
Release Date
2020.1 English


The tool is informing the user that the certain coding constructs are not supported.


Vitis HLS does not support the below coding constructs in this release. The user is requested to refactor their code.

Constructors, Destructors, P2P, Pointer Cast, and Virtual Functions

Class constructors and destructors are included and synthesized whenever a class object is declared.

Vitis HLS supports virtual functions (including abstract functions) for synthesis, provided that it can statically determine the function during elaboration. Vitis HLS does not support virtual functions for synthesis in the following cases:

  • Virtual functions can be defined in a multilayer inheritance class hierarchy but only with a single inheritance.
  • Dynamic polymorphism is only supported if the pointer object can be determined at compile time. For example, such pointers cannot be used in an if-else or loop constructs.
  • An STL container cannot contain the pointer of an object and call the polymorphism function. Pointer to pointer, pointer cast is not supported in this release.