This is an archive of the discontinued LLVM Phabricator instance.

[flang][msvc] Avoid dependence on long double
ClosedPublic

Authored by klausler on Oct 2 2020, 1:03 PM.

Details

Summary

MSVC does not support a distinct 80-bit extended precision
"long double" type. Rework the I/O runtime to avoid using
native C/C++ type names. Centralize the mappings between
the KIND= type parameters of REAL and their binary precisions
in the common real.h header file, and use KIND type parameter
values rather than binary precisions for clarity where
appropriate.

This patch, if successful, should obviate the need for
Differential review D88511.

(This patch anticipates a successful review of D88688, which
fixes the function that maps each kind of real to its maximum
number of significant decimal digits.)

Diff Detail

Event Timeline

klausler created this revision.Oct 2 2020, 1:03 PM
Herald added a project: Restricted Project. · View Herald Transcript
klausler requested review of this revision.Oct 2 2020, 1:03 PM
klausler updated this revision to Diff 296476.Oct 6 2020, 8:49 AM

Rebased to current master branch.

jeanPerier accepted this revision.Oct 7 2020, 10:15 AM

Looks good to me

This revision is now accepted and ready to land.Oct 7 2020, 10:15 AM
This revision was automatically updated to reflect the committed changes.

Sorry, for being late, Google didn't mark it as "important".

I confirm that this works with msvc.