CP
#define CP(src, dst, fld) do { (dst).fld = (src).fld; } while (0)
#undef CP
#define CP(src, dst, fld) do { \