https://issues.dlang.org/show_bug.cgi?id=12756
Issue ID: 12756
Summary: Cannot build dmd on windows because of longdouble
Product: D
Version: D2
Hardware: All
OS: Windows
Status: NEW
Severity: blocker
Priority: P1
Component: DMD
Assignee: [email protected]
Reporter: [email protected]
constfold.c(136): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t r1 = 0.0;
^
constfold.c(137): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t i1 = 0.0;
^
constfold.c(140): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t r2 = 0.0;
^
constfold.c(141): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t i2 = 0.0;
^
constfold.c(221): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t r1 = 0.0;
^
constfold.c(222): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t i1 = 0.0;
^
constfold.c(225): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t r2 = 0.0;
^
constfold.c(226): error: no suitable constructor exists to convert from
"double" to "longdouble"
real_t i2 = 0.0;
^
This errors because MSVC uses longdouble emulation.
longdouble is a struct that doesn't have operator=.
--