Hi again. Recently i have ported my code from CUDA 1.1. to CUDA 2.1.
My code compiles perfectly and run on device.
But when i am trying to use device emulation, compilation failed with strange errors and warnings.
I have extremely complex code using template methaprogramming, so i think that problem in C++.
This code
template<int tag_,class Type_,class Next_ = NilCase>
struct CASE
{
enum {tag = tag_}; // warning C4146: unary minus operator applied to unsigned type, result still unsigned
typedef Type_ Type;
typedef Next_ Next;
};
And then the compiler don’t see any data that contain my VECTOR<n,T> class that uses inheritance from outher class.
So, i dont understand why code compiles and run on device, but don’t compiles on emulator.
May be i can play with some compiler keys to force C++ methaprogramming work on device emulation mode.
I know, there is no fully C++ support yet, but my code compiles on device. Is there anything i can do?
Thanks!