1 Title: Merging DMD FE 1.055 in LDC
2 Tags: en, d, ldc, dmd, patch, merge, 1.055
4 Motivated by a couple of long waited forward references `bug fixes`__ in the DMD__
5 front-end, I decided to experiment merging it into LDC_.
7 __ http://www.digitalmars.com/d/1.0/changelog.html#new1_054
8 __ http://www.dsource.org/projects/dmd/
10 The task wasn't so hard, just apply the patches, ignore changes to the back-end
11 (mostly), resolve some conflicts and you're done!
13 Christian Kamm kindly helped me with a couple of doubts when resolving
14 conflicts and I got commit access to the LDC_ repository in the way (thanks for
15 the vote of confidence, even when LDC_ are very relaxed when giving commit
18 However I found a changeset that was a little harder to merge__: r251__, which
19 added support for appending ``dchar`` to a ``char[]`` (fixing `bug 111`__,
20 another long waited one). The problem was, `2 new runtime functions were
21 added`__ (``_d_arrayappendcd`` and ``arrayappendwdarrayappendwd``) but I didn't
22 know how to tell the back-end about them.
24 __ http://www.dsource.org/projects/ldc/changeset/1605%3A1d5721f9ae18
25 __ http://www.dsource.org/projects/dmd/changeset/251
26 __ http://d.puremagic.com/issues/show_bug.cgi?id=111
27 __ http://www.dsource.org/projects/dmd/changeset/251#file0
29 Trying to compile Dil__ with the new LDC_ with the DMD 1.055 front-end,
30 I discovered this change also added a regression__. So I tried to fix those two
31 issues before pushing my patches, but Christian told me I should push them
32 first and fix the problems later. I really prefer the other way around, but
33 I won't tell the LDC_ developers how to run the project :), so `I did it`__
36 __ http://www.dsource.org/projects/dil
37 __ http://www.dsource.org/projects/ldc/ticket/391
38 __ http://www.dsource.org/projects/ldc/timeline?from=01%2F06%2F10&daysback=1&changeset=on&update=Update
40 Christian `disabled the new feature`__ later because Tango__ is still lacking
41 the new runtime functions, so LDC_ can't do much about them yet. I filled
42 a bug__ so this issue don't get lost.
44 __ http://www.dsource.org/projects/ldc/changeset/1629%3Ab07d683ba4d0
45 __ http://www.dsource.org/projects/tango/
46 __ http://www.dsource.org/projects/ldc/ticket/390
48 I would be nice to have some feedback if you try the new merged front-end in
52 .. [*] I'm sorry about the lame commit messages including the diffstat output,
53 but I did the work using git__ and then exported the patches to
54 mercurial__ and I didn't realize the import tool didn't remove the
57 __ http://git-scm.com/
58 __ http://mercurial.selenic.com/
61 .. _LDC: http://www.dsource.org/projects/ldc/
63 .. vim: set et sw=4 sts=4 :