@yebblies What is the sense in this test? 
DMC mangles `unsigned long long testlongmangle(int32_t a, uint32_t b, long long c, unsigned long long d)` as
`?testlongmangle@@YA_KJK_J_K@Z`. 
It defines `int32_t` as `long` and `uint32_t` as `unsigned long`
I mangle `ulong testlongmangle(int a, uint b, long c, ulong d)` as `unsigned long long testlongmangle(int a, unsigned int b, long long c, unsigned long long d)`.