digitalmars.D.ldc - Emulated floating point on iOS
- Jacob Carlborg (13/13) Jan 04 2020 I’m experimenting with D on iOS, I’m using the `arm64-apple-ios12.0`...
- kinke (3/7) Jan 04 2020 That's definitely not the right location; see
- Jacob Carlborg (4/6) Jan 05 2020 That worked, thanks.
- kinke (7/8) Jan 05 2020 Great; don't hesitate to ask for further assistance. You're most
- kinke (3/4) Jan 05 2020 Argh, here's the link:
- Jacob Carlborg (7/14) Jan 06 2020 Yes.
I’m experimenting with D on iOS, I’m using the `arm64-apple-ios12.0` target. When compiling the runtime using `ldc-build-runtime` I’ve encountered an issue. The size of `real` is 16 while using Clang, `long double` is 8, i.e. same as `double`. LDC also seems to output some kind of emulated floating point for `real,` I get a lot of missing symbols like `___fixunstfdi`, these seems to be related to emulating floating point. When compiling the same code using Clang (replacing `real` with `long double`) Clang does not output these symbols. If I change the type of `real` in `Target::_init` from `Tfloat80` to `Tfloat64` the size of `real` is correct but LDC still outputs the symbols for emulating floating point. Any ideas? -- /Jacob Carlborg
Jan 04 2020
On Saturday, 4 January 2020 at 13:26:05 UTC, Jacob Carlborg wrote:If I change the type of `real` in `Target::_init` from `Tfloat80` to `Tfloat64` the size of `real` is correct but LDC still outputs the symbols for emulating floating point. Any ideas?That's definitely not the right location; see https://github.com/ldc-developers/ldc/blob/0a1a40ebc7ee29b02a6e92daa389e3c5611f086f/ir/irtype.cpp#L64-L66.
Jan 04 2020
On Saturday, 4 January 2020 at 15:43:53 UTC, kinke wrote:That's definitely not the right location; see https://github.com/ldc-developers/ldc/blob/0a1a40ebc7ee29b02a6e92daa389e3c5611f086f/ir/irtype.cpp#L64-L66.That worked, thanks. — /Jacob Carlborg
Jan 05 2020
On Sunday, 5 January 2020 at 08:49:51 UTC, Jacob Carlborg wrote:That worked, thanks.Great; don't hesitate to ask for further assistance. You're most likely well aware of Dan's work [1]; I gave the compiler diff an extremely superficial glance, and most of it seemed obsolete by now (notable exception: his gen/abi-ios-* additions), incl. LLVM by now supporting TLS for iOS. I haven't looked at the druntime/Phobos diff, but I guess it's still highly useful.
Jan 05 2020
On Sunday, 5 January 2020 at 19:19:51 UTC, kinke wrote:Dan's work [1]Argh, here's the link: https://github.com/ldc-developers/ldc/compare/master...smolt:ios#files_bucket
Jan 05 2020
On 2020-01-05 20:19, kinke wrote:Great; don't hesitate to ask for further assistance.Thanks.You're most likely well aware of Dan's work [1];Yes.I gave the compiler diff an extremely superficial glance, and most of it seemed obsolete by nowI guessed that it would be a bit obsolete.(notable exception: his gen/abi-ios-* additions), incl. LLVM by now supporting TLS for iOS. I haven't looked at the druntime/Phobos diff, but I guess it's still highly useful.Thanks. -- /Jacob Carlborg
Jan 06 2020