[Bug] cudafe++ with --parse_templates option breaks c++ code by removing array sizes from function i

Please fix the forum. I cannot post the repro code. “Request unsuccessful. Incapsula incident ID: 227001730001909157-3552066817690328”

CUDA version: V7.5.17

Command line:

cudafe++ --allow_managed --m64 --microsoft_version=1800 --msvc_target_version=1800 --compiler_bindir "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/../.." --sdk_dir .... --parse_templates --gen_c_file_name "test2.cudafe.cpp" --stub_file_name "MyClass.cudafe1.stub.c" --module_id_file_name "SpatialReplicationPadding.module_id" "test2.cpp"

test2.cpp:

template<int Size>
class MyClass {
public:
    MyClass(const int data);
};

template<int Size>
MyClass<Size> ::MyClass(const int data) {}

void func(MyClass<4> input) {}

Output (test2.cudafe.cpp):

#line 1 "test2.cpp"
#pragma section("__nv_managed_data__")
#line 1
static char __nv_inited_managed_rt = 0; static void **__nv_fatbinhandle_for_managed_rt; static void __nv_save_fatbinhandle_for_managed_rt(void **in){__nv_fatbinhandle_for_managed_rt = in;} static char __nv_init_managed_rt_with_module(void **); static inline void __nv_init_managed_rt(void) { __nv_inited_managed_rt = (__nv_inited_managed_rt ? __nv_inited_managed_rt                 : __nv_init_managed_rt_with_module(__nv_fatbinhandle_for_managed_rt));}
#line 1
#line 1
#line 2
template< int Size> 
#line 3
class MyClass { 
#line 5
public: MyClass(const int  data); 
#line 6
}; 
#line 8
template< int Size> 
#line 9
MyClass< Size> ::MyClass(const int data[]) { } 
#line 11
void func(MyClass< 4>  input) { } 
#line 1 "MyClass.cudafe1.stub.c"
#define _NV_ANON_NAMESPACE _GLOBAL__N__33_SpatialReplicationPadding_cpp1_ii_c2185b6b
#line 1 "MyClass.cudafe1.stub.c"
#include "MyClass.cudafe1.stub.c"
#line 1 "MyClass.cudafe1.stub.c"
#undef _NV_ANON_NAMESPACE

See how the declaration code does not change:

MyClass(const int  data);

, but the definition changes from

MyClass<Size> ::MyClass(const int data) {}

to

MyClass< Size> ::MyClass(const int data[]) { }

This breaks compilation in Visual Studio 2013 sine the definition signature no longer matches the declaration.