Remove aliases to D floating point types#5237
Conversation
|
Ah, I forgot that @rainers played around with |
ea9f51a#diff-5513f3fc83d340ad7546670375b7aa7fR16 is not the same as https://github.com/D-Programming-Language/dmd/blob/681ebb35f30f76f9810acd9bfdade51ea27e76bb/src/root/longdouble.h#L70 which is a bit problematic, granted that GDC has it's own |
|
@rainers - So any suggestions to be done? I know you wouldn't want MSVC broken, and know more of how it binds together for dmd. What I'd like to know is:
|
|
IIRC struct longdouble in port.d was added as a workaround to be able to call strtold_dm and ld_sprint. Therefore name mangling and ABI have to match.
I was expecting longdouble.d to be ditched, it doesn't really contain useful code, just a relacement for real(x). I suspect that's probably something you'd want to use for gdc, though.
I didn't want to repeat the long definition of the C++ code when D has a working real implementation.
We could use extern(C) for strtol_dm and ld_sprint to avoid name mangling issues. This would allow renaming the current struct longdouble to something specfic for this VS workaround. |
Well,
I do not see D's real as a working solution for my needs, or infact, any compiler's needs if they want to be serious about cross-compilation and portability. |
|
Indeed |
Same as #5234 but for floats.