Hi,
[attachment=5836:attachment]
Build output:
------ Build started: Project: cu_blank_forTest, Configuration: Release Win32 ------
Performing Custom Build Step
cu_host.cu
“e:\mywindata\æ¡Œé¢\cu_blank_fortest\cu_blank_fortest\cu_kernel.cu”, line 23: warning:
variable "x" was declared but never referenced
unsigned int x = threadIdx.x;
^
tmpxft_0000151c_00000000-3.gpu
tmpxft_0000151c_00000000-7.gpu
Assertion failure at line 907 of …/…/be/cg/NVISA/cgemit_targ.cxx:
Compiler Error in file C:\DOCUME~1\CDW\LOCALS~1\Temp/tmpxft_0000151c_00000000-8.i during Assembly phase:
NYI initv kind 1
nvopencc ERROR: d:\CUDA\bin/…/open64/lib//be.exe returned non-zero status 1
Linking…
Embedding manifest…
Build log was saved at “file://e:\MyWinData\æ¡Œé¢\cu_blank_forTest\cu_blank_forTest\Release\BuildLog.htm”
cu_blank_forTest - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
//kernel.cu
typedef struct g_states_t
{
unsigned int x;
struct g_states_t *pl;
struct g_states_t *pr;
}g_states;
//ok
__device__ g_states_t g_sarr1[2];
//failure
__device__ g_states_t g_sarr2[2] = {
{1, &g_sarr2[0], &g_sarr2[1]},
{2, &g_sarr2[1], &g_sarr2[0]}
};
__global__ void
kernel()
{
unsigned int x = threadIdx.x;
//ok
g_sarr1[0].x = 1;
g_sarr1[0].pl = &g_sarr1[0];
g_sarr1[0].pr = &g_sarr1[1];
}