diff --git a/flang/runtime/descriptor-io.h b/flang/runtime/descriptor-io.h --- a/flang/runtime/descriptor-io.h +++ b/flang/runtime/descriptor-io.h @@ -279,7 +279,10 @@ return FormattedRealIO<24, float, DIR>(io, descriptor); case 8: return FormattedRealIO<53, double, DIR>(io, descriptor); -#if __x86_64__ +#if _MSC_VER + // long double is the same as double with the Microsoft compiler. + // Treat as unimplemented. +#elif __x86_64__ case 10: return FormattedRealIO<64, long double, DIR>(io, descriptor); #else @@ -298,7 +301,10 @@ return FormattedComplexIO<24, float, DIR>(io, descriptor); case 8: return FormattedComplexIO<53, double, DIR>(io, descriptor); -#if __x86_64__ +#if _MSC_VER + // long double is the same as double with the Microsoft compiler. + // Treat as unimplemented. +#elif __x86_64__ case 10: return FormattedComplexIO<64, long double, DIR>(io, descriptor); #else