In Microsoft's ABI long double is an alias for double, which is allowed by the C++ ABI. Therefore it is also caught by the switch case for KIND(8). Therefore the kinds 10 and 16 are not implemented for this ABI.
The error from msvc was:
binary-floating-point.h(55): error C2607: static assertion failed edit-output.h(68): note: see reference to function template instantiation 'Fortran::decimal::BinaryFloatingPointNumber<113>::BinaryFloatingPointNumber<A>(A)' being compiled with [ A=long double ]
This patch is part of the series to make flang compilable with MS Visual Studio http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html.