Thread overview
[dmd-internals] DMD bootstrapping version requirements
February 16
Hi all,

I must admit that I am not quite up to speed on which configurations are exactly tested right now in the wider dlang CI system, but from dlang/phobos#5140 [1] it seems like the only C++-based compiler (i.e., 2.068) remaining is GDC on Travis?

We can of course discuss requiring a multi-step bootstrap in the future. I just want to make sure incompatibilities don't slip in unintentionally for now.

Best,
David


[1] https://github.com/dlang/phobos/pull/5140
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 16
All of my testers build with that version (well, 2.067 or 8, I'd have to wander through each to double check the exact version used.

On 2/16/17 6:58 AM, David Nadlinger via dmd-internals wrote:
> Hi all,
>
> I must admit that I am not quite up to speed on which configurations are exactly tested right now in
> the wider dlang CI system, but from dlang/phobos#5140 [1] it seems like the only C++-based compiler
> (i.e., 2.068) remaining is GDC on Travis?
>
> We can of course discuss requiring a multi-step bootstrap in the future. I just want to make sure
> incompatibilities don't slip in unintentionally for now.
>
> Best,
> David
>
>
> [1] https://github.com/dlang/phobos/pull/5140
> _______________________________________________
> dmd-internals mailing list
> dmd-internals@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 16
On 16 Feb 2017, at 23:38, Brad Roberts via dmd-internals wrote:
> All of my testers build with that version (well, 2.067 or 8, I'd have to wander through each to double check the exact version used.

Ah, right, thanks. No idea why I thought they were changed to be bootstrapped from the makefiles… — David

_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 16
I'd like to upgrade to 2.073, as I need this switch:

  -mv=<package.module>=<filespec>  use <filespec> as source file for <package.module>

to begin converting the back end to D. Though I'm not sure which version it actually shipped in, it doesn't seem to be in the changelog.

On 2/16/2017 2:38 PM, Brad Roberts via dmd-internals wrote:
> All of my testers build with that version (well, 2.067 or 8, I'd have to wander
> through each to double check the exact version used.
>
> On 2/16/17 6:58 AM, David Nadlinger via dmd-internals wrote:
>> Hi all,
>>
>> I must admit that I am not quite up to speed on which configurations are
>> exactly tested right now in
>> the wider dlang CI system, but from dlang/phobos#5140 [1] it seems like the
>> only C++-based compiler
>> (i.e., 2.068) remaining is GDC on Travis?
>>
>> We can of course discuss requiring a multi-step bootstrap in the future. I
>> just want to make sure
>> incompatibilities don't slip in unintentionally for now.
>>
>> Best,
>> David
>>
>>
>> [1] https://github.com/dlang/phobos/pull/5140
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 17
Why exactly do you need that switch to convert the backend?  As long as the source files are passed on the command line and have a module declaration then they don't care which directory they are in.

On Fri, Feb 17, 2017 at 10:54 AM, Walter Bright via dmd-internals <dmd-internals@puremagic.com> wrote:
> I'd like to upgrade to 2.073, as I need this switch:
>
>   -mv=<package.module>=<filespec>  use <filespec> as source file for
> <package.module>
>
> to begin converting the back end to D. Though I'm not sure which version it actually shipped in, it doesn't seem to be in the changelog.
>
>
> On 2/16/2017 2:38 PM, Brad Roberts via dmd-internals wrote:
>>
>> All of my testers build with that version (well, 2.067 or 8, I'd have to
>> wander
>> through each to double check the exact version used.
>>
>> On 2/16/17 6:58 AM, David Nadlinger via dmd-internals wrote:
>>>
>>> Hi all,
>>>
>>> I must admit that I am not quite up to speed on which configurations are
>>> exactly tested right now in
>>> the wider dlang CI system, but from dlang/phobos#5140 [1] it seems like
>>> the
>>> only C++-based compiler
>>> (i.e., 2.068) remaining is GDC on Travis?
>>>
>>> We can of course discuss requiring a multi-step bootstrap in the future.
>>> I
>>> just want to make sure
>>> incompatibilities don't slip in unintentionally for now.
>>>
>>> Best,
>>> David
>>>
>>>
>>> [1] https://github.com/dlang/phobos/pull/5140
>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 17
On 17 February 2017 at 04:43, Daniel Murphy via dmd-internals <dmd-internals@puremagic.com> wrote:
> Why exactly do you need that switch to convert the backend?  As long as the source files are passed on the command line and have a module declaration then they don't care which directory they are in.
>

Even then, it's not a major problem as I can - and infact currently in the process of doing anyway - backporting the new switch and implementation to the C++ port.

I don't think you can even call GDC as being 2.068 anymore either, you can look at the changelog on github, but for example:

https://github.com/D-Programming-GDC/GDC/pull/387
https://github.com/D-Programming-GDC/GDC/pull/392
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 17

On 2/16/2017 7:43 PM, Daniel Murphy wrote:
> Why exactly do you need that switch to convert the backend?  As long
> as the source files are passed on the command line and have a module
> declaration then they don't care which directory they are in.

I want to use separate compilation for the back end, rather than lumping it into one big compile. One reason is asserts cannot be turned off for the back end. (They are for the front end for compilation speed reasons.)

Incremental compile times become excessive, because everything has to be recompiled.

Tracking down a compiler bug can get hard when one cannot use separate compilation. It's a bitch tracking them down in Phobos, but at least I can cut things down to size with separate compilation. I just did that for https://github.com/dlang/dmd/pull/6546, and I'm not so sure I could have found it without separate compilation - it certainly would have taken much, much longer.
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 17
That sounds reasonable.  But couldn't the same be achieved by just fixing the directory layout to match the package layout?  I thought we were planning that anyway.

On Fri, Feb 17, 2017 at 9:56 PM, Walter Bright <walter@digitalmars.com> wrote:
>
>
> On 2/16/2017 7:43 PM, Daniel Murphy wrote:
>>
>> Why exactly do you need that switch to convert the backend?  As long as the source files are passed on the command line and have a module declaration then they don't care which directory they are in.
>
>
> I want to use separate compilation for the back end, rather than lumping it into one big compile. One reason is asserts cannot be turned off for the back end. (They are for the front end for compilation speed reasons.)
>
> Incremental compile times become excessive, because everything has to be recompiled.
>
> Tracking down a compiler bug can get hard when one cannot use separate compilation. It's a bitch tracking them down in Phobos, but at least I can cut things down to size with separate compilation. I just did that for https://github.com/dlang/dmd/pull/6546, and I'm not so sure I could have found it without separate compilation - it certainly would have taken much, much longer.
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
February 17

On 2/17/2017 3:23 AM, Daniel Murphy wrote:
> That sounds reasonable.  But couldn't the same be achieved by just
> fixing the directory layout to match the package layout?  I thought we
> were planning that anyway.

There's also DMC++ to consider, which is built from the same code.

I'm not the only one to have this problem, it's been regularly causing trouble for people. The -mv switch solves it with no contortions required by the user. We should be dogfooding more recent compilers anyway in the builds, and gdc/ldc need to implement -mv (it's pretty trivial) whether or not other improvements are incorporated.
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals