Null location for typedef function pointers; when function pointer is from typedef, the location should be from the typedef.
Splitting behaviour of C# generated code into different platforms via C# type equality; only use the C# mapped name for equality and ignore the C name.
Fixes: