numba_dppy.extended_numba_itanium_mangler module

numba_dppy.extended_numba_itanium_mangler.mangle(ident, argtys)

Mangle identifier with Numba type objects and arbitrary values.

numba_dppy.extended_numba_itanium_mangler.mangle_args(argtys)

Mangle sequence of Numba type objects and arbitrary values.

numba_dppy.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_dppy.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