Wiki: How to merge a new DMD release

kinke kinke at libero.it
Wed Apr 25 15:47:45 UTC 2018


Syncing druntime and Phobos is mostly easy-peasy, except 
sometimes for some modules with heavy LDC specifics such as 
std.math and rt.sections.

The bigger problem with auto-sync is that druntime/Phobos and the 
compiler need to be kept in sync, i.e., some druntime patches 
only work after compiler modifications, or (more seldomly) the 
other way around.
That's why we're doing these v2.x => v2.(x+1) steps, that keeps 
the maintenance burden at acceptable levels without having to 
keep up promptly with DMD's pace.

As to merging front-end changes automatically, I think that's 
pretty utopic. It's just one piece of the compiler (with a number 
of LDC specifics and so much potential for merge conflicts in 
refactorings), and a feature such as minimal druntime support is 
something which basically needs to be re-implemented by LDC from 
scratch, as it's almost glue-layer exclusive.

> Another bonus is that any issue is know earlier on, no need to 
> wait for next release to realize you missed something for LDC.

I'm afraid DMD pulls would get stalled even more if they had to 
additionally worry about LDC.


More information about the digitalmars-d-ldc mailing list