numba_dpex.extended_numba_itanium_mangler module

numba_dpex.extended_numba_itanium_mangler.mangle(ident, argtys, *, abi_tags=())

Mangle identifier with Numba type objects and abi-tags.

numba_dpex.extended_numba_itanium_mangler.mangle_args(argtys)

Mangle sequence of Numba type objects and arbitrary values.

numba_dpex.extended_numba_itanium_mangler.mangle_type(typ)

Mangle type parameter and arbitrary value.

This function extends Numba’s magle_type_or_value() to support numba.types.CPointer type, e.g. an int * argument will be mangled to “Pi”. Mangling of extended qualifiers is supported only for address space qualifiers. In which case, the mangling follows the rule defined in Section 5.1.5.1 of the Itanium ABI <https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.qualified-type>``_. For example, an ``int global * argument will be mangeled to “PU3AS1i”.

Args:

typ (numba.types, int, str) : Type to mangle

Returns:

str: The mangled name of the type

numba_dpex.extended_numba_itanium_mangler.mangle_type_or_value(typ)

Mangle type parameter and arbitrary value.

This function extends Numba’s magle_type_or_value() to support numba.types.CPointer type, e.g. an int * argument will be mangled to “Pi”. Mangling of extended qualifiers is supported only for address space qualifiers. In which case, the mangling follows the rule defined in Section 5.1.5.1 of the Itanium ABI <https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.qualified-type>``_. For example, an ``int global * argument will be mangeled to “PU3AS1i”.

Args:

typ (numba.types, int, str) : Type to mangle

Returns:

str: The mangled name of the type