Can't assert in deviceemu mode in template functions with 2.3?


I just tried to run deviceemu for the first time since upgrading to 2.3, and I’m now getting compilation errors for assertions.

There’s a line in the program that says


(h is a float automatic, but it doesn’t seem to matter). The error is:

It only happens in a function that’s a template, declared as

template<typename T_intensity>

__global__ void

calculate_heating( float* heating, size_t heatingP,

		   float* sigmadlambda, size_t sigmaP,

		   T_intensity* intensity, size_t intensityP,

		   size_t ns, size_t nc, size_t nl, 

		   size_t log2subsampling=0)

In other functions, the assertions compile fine, and in that function I can use the expressions being asserted in other contexts. It’s just assertions that are the problem, apparently.

Has anyone run into this before?