Offload1204

This virtual or pointer call may fail due to missing entry in domain (declared at %1). That domain must contain a function with the signature %2. For example [ & myfuncwithcorrect_signature]

A domain has been declared but it contains the wrong entries. For example:

int (* ptr)();
void func(int);

void test()
{
	__offload [func] //wrong entry in domain
	{
		ptr(); // call that requires a domain
	}
}

In this example the domain consists of only one function func whose signature void(int) mismatches with that of the call site of the only pointer call int(), so this pointer call would fail with a runtime error. This warning is also useful to prevent wasteful offloading as this domain declaration unnecessarily offloads func which is not used inside the __offload block.

A description of domains and how to use them can be found in Article 132