diff --git a/autotest/CppParser/CppParser.upp b/autotest/CppParser/CppParser.upp index 3b609ad85..9203a562c 100644 --- a/autotest/CppParser/CppParser.upp +++ b/autotest/CppParser/CppParser.upp @@ -7,7 +7,11 @@ file test1.in, test1.out, test2.in, - test2.out; + test2.out, + test3.in, + test3.out, + test4.in, + test4.out; mainconfig "" = "SSE2"; diff --git a/autotest/CppParser/test3.in b/autotest/CppParser/test3.in new file mode 100644 index 000000000..bae51faeb --- /dev/null +++ b/autotest/CppParser/test3.in @@ -0,0 +1,9 @@ +extern "C++" +{ + template + inline + typename _CrtEnableIf<(_Size > 1), void *>::_Type memcpy(_DstType (&_Dst)[_Size], const void *_Src, size_t _SrcSize) throw() + { + return memcpy_s(_Dst, _Size * sizeof(_DstType), _Src, _SrcSize) == 0 ? _Dst : 0; + } +} diff --git a/autotest/CppParser/test3.out b/autotest/CppParser/test3.out new file mode 100644 index 000000000..e6b49576b --- /dev/null +++ b/autotest/CppParser/test3.out @@ -0,0 +1,5 @@ + { + FUNCTIONTEMPLATE memcpy(_DstType(&)[_Size],const void*,size_t)throw(), line 3 +} + { +} \ No newline at end of file diff --git a/autotest/CppParser/test4.in b/autotest/CppParser/test4.in new file mode 100644 index 000000000..00f2c11fc --- /dev/null +++ b/autotest/CppParser/test4.in @@ -0,0 +1,2 @@ +template +void Fn(); diff --git a/autotest/CppParser/test4.out b/autotest/CppParser/test4.out new file mode 100644 index 000000000..942558ba2 --- /dev/null +++ b/autotest/CppParser/test4.out @@ -0,0 +1,5 @@ + { + FUNCTIONTEMPLATE Fn(), line 1 +} + { +} \ No newline at end of file