Question about a wired compiling error.

Hi guys,

I met a very strange compiling error for my following code:

device funcA();

global funcB(){
funcA()
}

I call funcB<<<2,64>>>() from main.

And I got following error:

Assertion failure at line 712 of …/…/be/cg/NVISA/exp_loadstore.cxx:

Compiler Error in file c:/windows/temp/tmp_00000890-2.i during Code_Expansion phase:

stack pointer nyi: probably an unexpected call or intrinsic

nvopencc ERROR: C:\CUDA\bin/…/open64/lib//be.exe returned non-zero status 1

What you think may cause this problem?

Also if I didn’t define funcA as device, what type should I use for it so I can call safelly from funcB()?

Thanks,

  • leoon.

Well, you don’t have a semi-colon after the call to funcA; I don’t know if that’s a copy-paste error or a mistake in the actual code though.

Thanks eelsen, just figured out the problem.

It’s because I use a memset() function in device funcA(). It gives out a warning which I didn’t notice. That’s the reason of the error though.