On Friday, 12 January 2018 at 16:13:39 UTC, Seb wrote:
Motivation
----------

1) It's required for Walter's work on using -betterC for the backend conversion:

https://github.com/dlang/dmd/pull/6907

That is only a putative dependency. Indeed the -mv=<pkg>=<file> feature is useful. If it's just about the backend though, there is a straightforward solution.

If we insist on having a backend package (not under dmd)
```
module backend.cod1;
```
then we can simply move the package to the right place
```
mv src/dmd/backend src/backend
```
. Imports of dmd from backend obviously forbidden (should be enforced by separate compilation).

2) We start to run into random failures lately, e.g.

https://github.com/braddr/d-tester/issues/63
https://github.com/dlang/dmd/pull/7569#issuecomment-356992048

3) There's also WIP to move dmd-cxx to 2.076.1:

https://github.com/dlang/dmd/pull/7595

We've been through bootstrapping discussions a couple of times, so let me repeat what was decided when we made the frontend switch from C++ to D.

- Other platforms are bootstrapped by cross-compilation.
- DMD must be compilable with the latest stable/major release of dmd, ldc, and gdc.

  To enforce this policy the Travis-CI test was set up.
Hopefully this original purpose of the Travis-CI hasn't been forgotten in the meantime.
- No other guarantees were negotiated.

Sticking to an ancient compiler defeats the eat your own dogfood goal underlying the C++ -> D transition.

The latest released frontend versions are at the moment:
2.078 - dmd (2.078.1)
2.077 - ldc (1.7.0)
2.068 - gdc (6.3.0+2.068.2)

So technically we could only upgrade to 2.068 atm.
Would be good to hear some release plans from the GDC team for this year.

==========

Just in case this is what dmd's schedule looks like for 2018.

2.078.0 - 2018-01-01
2.079.0 - 2018-03-01
2.080.0 - 2018-05-01
2.081.0 - 2018-07-01
2.082.0 - 2018-09-01
2.083.0 - 2018-11-01
2.084.0 - 2019-01-01

I wished the semver discussion¹ would have been a bit more decisive and we'd started out the year with 8.0.0 (majors every 6 months, minors every 2 months). Hopefully we take the chance of relabeling 2.080.0 to 8.0.0.

[¹]: http://forum.dlang.org/post/eghpfllbnvvlskbdp...@forum.dlang.org

Reply via email to