Developer Guide and Reference

  • 2022.2
  • 09/08/2022
  • Public Content



<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
can be migrated to
, 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.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at