The following piece of code doesn’t compile with CUDA 4.0RC2:
namespace X{
__constant__ const int test = 1;
}
int main()
{
}
I can’t understant why it generates this kind of invalid ****.cudafe1.stub.c:
static void __sti____cudaRegisterAll_28_test_namespace_const_cpp1_ii_main(void)
{
__cudaRegisterBinary();
__cudaRegisterVariable(__shadow_var(_ZN46_INTERNAL_28_test_namespace_const_cpp1_ii_main1X4testE,
[local to test_namespace_const_cpp1_ii]:<img src='http://forums.nvidia.com/public/style_emoticons/<#EMO_DIR#>/bloated.gif' class='bbc_emoticon' alt=':X' />::test), 0, 4, 1, 0);
}
What is this → [local to test_namespace_const_cpp1_ii] ???
Anyway, what happened with the cuda 4.0 compiler? It really is a serious regression
since cuda 3.2, did the CUDA team tried to rewrite the C++ compiler from scratch?