DPCT1064
Message
Migrated
<function name>
call is used in a macro definition and is not valid
for all macro uses. Adjust the code.Detailed Help
The warning is generated when the function call is used in a macro definition and
needs to be migrated differently, depending on how the macro is called. The
Intel® DPC++ Compatibility Tool generates code that is valid for one of the calls
of the macro, but may not be valid for all calls of this macro in the code.
For example: The function
pow
can be migrated to sycl::pow<double>
or
sycl::pown
, depending on the types of parameters passed through macro arguments.#define POW(B, E) pow(B, E)
POW(2.5, 3.1); //should be migrated to sycl::pow<double>(2.5, 3.1)
POW(2.5, 3); //should be migrated to sycl::pown((float)2.5, 3)
Suggestions to Fix
Declare new macros for different use cases of the macro call in the resulting code.