improved SOO swap, fixed Darwin-clang build config