DPCT1061#

Message#

Call to <macro name> macro was removed because it only contains code, which is unnecessary in SYCL.

Detailed Help#

When a macro definition contains only code, which will be removed during migration, SYCLomatic removes the usage of the macro as well.

Suggestions to Fix#

Review the code and remove the macro definition if it is not needed.

For example, this original CUDA* code:

1#define MACRO(x, y) cublasGetAtomicsMode(x, y)
2void foo(cublasHandle_t h, cublasAtomicsMode_t *am) {
3  MACRO(h, am);
4  ...
5}

results in the following migrated SYCL* code:

 1/*
 2DPCT1026:0: The call to cublasGetAtomicsMode was removed because this call is
 3redundant in SYCL.
 4*/
 5#define MACRO(x, y)
 6void foo(dpct::queue_ptr h, int *am) {
 7  /*
 8  DPCT1061:1: Call to MACRO macro was removed because it only contains code,
 9  which is unnecessary in SYCL.
10  */
11  ...
12}

which is rewritten to:

1void foo(dpct::queue_ptr h, int *am) {
2  ...
3}