Emulated floating point on iOS

Jacob Carlborg doob at me.com
Sat Jan 4 13:26:05 UTC 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


More information about the digitalmars-d-ldc mailing list