restrictions for compiler code

Johan Engelen via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Mon Oct 10 02:52:37 PDT 2016


On Monday, 10 October 2016 at 05:43:35 UTC, Rémi Thebault wrote:
> Hello all
>
> I'd like to contribute D code to LDC,

Great! Welcome :-)

> but I don't know what restrictions apply in the compiler code.
>
>  - is it allowed to link to Phobos?
>  - is it allowed to link to Druntime?

Both yes. For example:
https://github.com/ldc-developers/ldc/blob/master/driver/ir2obj_cache_pruning.d#L23-L24

However, I think you should only use functionality that is 
well-established and stable, so that chances are small that 
things will break in the future.
Also note that because LDC "LTS", the last LDC version that is 
not written with D code,  ships with Phobos v2.068.2, so that's 
the newest functionality that you can use.
https://github.com/ldc-developers/ldc/releases/tag/v0.17.0

>  - is it allowed to link to external D libraries that meet the 
> 2 above
> restrictions?

I am against using external libraries, because it complicates the 
build considerably. For example, we currently have libconfig as 
an external dependency and I would much like to get rid of it.

Anything specific you are thinking of contributing to LDC?

cheers,
   Johan



More information about the digitalmars-d-ldc mailing list