Thread overview
Emulated floating point on iOS
Jan 04, 2020
Jacob Carlborg
Jan 04, 2020
kinke
Jan 05, 2020
Jacob Carlborg
Jan 05, 2020
kinke
Jan 05, 2020
kinke
Jan 06, 2020
Jacob Carlborg
January 04, 2020
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
January 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.
January 05, 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

January 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.
January 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
January 06, 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 now

I 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