(Sorry, I was wrong. I have Clang in mingw mode, mingw 4.8.1 is not working with _Generic).
An workaround is something like...
#ifdef __POCC__
# define GPPP_GEN_PTR_FNC(ptr,fnc) ptr*:fnc, const ptr*:fnc, ptr*const:fnc
# define GPPP_GEN_VAR_FNC(var,fnc) var:fnc
#else
# define GPPP_GEN_PTR_FNC(ptr,fnc) ptr*:fnc, const ptr*:fnc, ptr*const:fnc, const ptr*const:fnc
# define GPPP_GEN_VAR_FNC(var,fnc) var:fnc, const var:fnc
#endif
#define GEN_VAR_TYPE_NAME(T) GPPP_GEN_VAR_FNC(T, #T)
#define TypeName _Generic(*(T), \
GEN_VAR_TYPE_NAME(Size),
GEN_VAR_TYPE_NAME(Point))
...
// test
const Point *ppt = &pt;
printf("I'm a %s\n", TypeName(ppt));
// print I'm a Point
---
@beto