]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2010/01/06-merging-dmd-fe-1.055-in-ldc.rst
Import personal website to git
[personal/website.git] / source / blog / posts / 2010 / 01 / 06-merging-dmd-fe-1.055-in-ldc.rst
1 Title: Merging DMD FE 1.055 in LDC
2 Tags: en, d, ldc, dmd, patch, merge, 1.055
3
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_.
6
7 __ http://www.digitalmars.com/d/1.0/changelog.html#new1_054
8 __ http://www.dsource.org/projects/dmd/
9
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!
12
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
16 access :).
17
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.
23
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
28
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`__
34 [*]_.
35
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
39
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.
43
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
47
48 I would be nice to have some feedback if you try the new merged front-end in
49 LDC_ :)
50
51
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
55        diffstat output.
56
57 __ http://git-scm.com/
58 __ http://mercurial.selenic.com/
59
60
61 .. _LDC: http://www.dsource.org/projects/ldc/
62
63 .. vim: set et sw=4 sts=4 :