merge with branch cpp11-msvc