Hi all!

I started to work on cent/ucent support in LDC (and possible in upstream DMD). Here is the current state:

1) The pull request https://github.com/ldc-developers/ldc/pull/891/files implements cent/ucent based on the upcoming major LDC release (branch merge-2.067). It is usable but relies on GCC because it uses the __int128 data type. My next step is to implement a synthetic int128_t type to enable support on all platforms.
Up to now I tested only on Linux/x86_64.

2) I already submitted some pull request for DMD, Druntime and Phobos to enable cent/ucent support.

How to continue?

As soon as I got it working on all compiler environment I like to create an upstream pull request. (May take some time because I am now busy with other tasks.) But: I am not going to extend the DMD backend! This has 2 consequences. First, we need to decide how to integrate the code. (Do we want to clutter the code with #if WANT_CENT as I currently do? Should we wait for DDMD?) Second, someone needs to work on the DMD backend if DMD should support cent/ucent, too.

If you like to help:
- clone & test
- Druntime/Phobos should support cent/ucent. I already updated/created some modules but more work is needed here
- add support to the DMD backend


Reply via email to