You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is non-trivial, as there is no native support for long double in the RTS. Opening this ticket mostly just to track the fact that we're not supporting long double for now.
The text was updated successfully, but these errors were encountered:
Foreign.C.Types does not define a long double type, perhaps because it is implementation-specific. The standard (since C89) just says that it needs to be at least a large as double. My understanding is that the implementation may differ in different libraries/compilers since the standard does not have exact specifications for the type, not just per architecture. Perhaps implementations are consistent in practice...
Not supporting long dobule means that we are unable to implement some things in the standard library. Examples:
typedef struct { long long __ll; long double __ld; } max_align_t;
float_t is an architecture-dependent type. For example, it is a long double on i386 and a float on x86_64.
As mentioned in the GHC issue, an alternative approach would be to define an opaque type and only support pointers. That would limit what we can support, though, which may be problematic.
This is non-trivial, as there is no native support for
long double
in the RTS. Opening this ticket mostly just to track the fact that we're not supportinglong double
for now.The text was updated successfully, but these errors were encountered: