Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
I was in the process of doing some windows phobos development, so I decided to start using the latest compiler from trunk. But when I started building druntime and phobos, I was getting these printouts: Max # of fixups = 0 Max # of fixups = 1 Max # of fixups = 4 Max # of fixups = 1 ... I thought WTF? Well, it turns out the default build of dmd if you just do make -f win32.mak is debdmd, not dmd. Is there a good reason for this? If not, can we change the default target to dmd? -Steve |
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer | On 27 August 2010 17:15, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
> I was in the process of doing some windows phobos development, so I decided to start using the latest compiler from trunk. ?But when I started building druntime and phobos, I was getting these printouts:
>
> Max # of fixups = 0
> Max # of fixups = 1
> Max # of fixups = 4
> Max # of fixups = 1
> ...
>
> I thought WTF? ?Well, it turns out the default build of dmd if you just do make -f win32.mak is debdmd, not dmd.
>
> Is there a good reason for this? ?If not, can we change the default target to dmd?
It's so you can debug the compiler.Pretty much the only time you want the release version is when making an official release.
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston |
----- Original Message ----
> From: Don Clugston <dclugston at googlemail.com>
> To: Discuss the internals of DMD <dmd-internals at puremagic.com>
> Sent: Fri, August 27, 2010 11:21:20 AM
> Subject: Re: [dmd-internals] default dmd target == debdmd?
>
> On 27 August 2010 17:15, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
> > I was in the process of doing some windows phobos development, so I decided
>to
> > start using the latest compiler from trunk. But when I started building druntime and phobos, I was getting these printouts:
> >
> > Max # of fixups = 0
> > Max # of fixups = 1
> > Max # of fixups = 4
> > Max # of fixups = 1
> > ...
> >
> > I thought WTF? Well, it turns out the default build of dmd if you just do
>make
> > -f win32.mak is debdmd, not dmd.
> >
> > Is there a good reason for this? If not, can we change the default target
>to
> > dmd?
>
> It's so you can debug the compiler.Pretty much the only time you want the release version is when making an official release.
Or when you want to utilize unreleased fixes...
Building the debug version by default goes against all makefile convention I've ever seen. It might be useful for you, but it's not for anyone else. I have no idea how to debug the compiler. I would expect that if I were to learn how to debug the compiler, I probably wouldn't mind learning how to type in make -f win32.mak debdmd.
-Steve
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer |
Steve Schveighoffer wrote:
>
> I thought WTF? Well, it turns out the default build of dmd if you just do make -f win32.mak is debdmd, not dmd.
>
> Is there a good reason for this? If not, can we change the default target to dmd?
>
>
The reason is so I can just type "make" when doing endless debugging builds.
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | There are better ways to do this.
-Steve
----- Original Message ----
> From: Walter Bright <walter at digitalmars.com>
> To: Discuss the internals of DMD <dmd-internals at puremagic.com>
> Sent: Fri, August 27, 2010 3:32:29 PM
> Subject: Re: [dmd-internals] default dmd target == debdmd?
>
>
>
> Steve Schveighoffer wrote:
> >
> > I thought WTF? Well, it turns out the default build of dmd if you just do
>make -f win32.mak is debdmd, not dmd.
> >
> > Is there a good reason for this? If not, can we change the default target
>to dmd?
> >
> >
>
> The reason is so I can just type "make" when doing endless debugging builds.
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer | On 27 August 2010 17:28, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
>
>
>
>
> ----- Original Message ----
>> From: Don Clugston <dclugston at googlemail.com>
>> To: Discuss the internals of DMD <dmd-internals at puremagic.com>
>> Sent: Fri, August 27, 2010 11:21:20 AM
>> Subject: Re: [dmd-internals] default dmd target == debdmd?
>>
>> On 27 August 2010 17:15, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
>> > I ?was in the process of doing some windows phobos development, so I decided
>>to
>> > start using the latest compiler from trunk. ?But when I started ?building druntime and phobos, I was getting these ?printouts:
>> >
>> > Max # of fixups = 0
>> > Max # of fixups = ?1
>> > Max # of fixups = 4
>> > Max # of fixups = 1
>> > ?...
>> >
>> > I thought WTF? ?Well, it turns out the default build of dmd ?if you just do
>>make
>> > -f win32.mak is debdmd, not dmd.
>> >
>> > Is ?there a good reason for this? ?If not, can we change the default target
>>to
>> > dmd?
>>
>> It's so you can debug the compiler.Pretty much the only ?time you want the release version is when making an official ?release.
>
> Or when you want to utilize unreleased fixes...
I do not think we should encourage that. Nobody should really be doing that unless they are helping debug/test the compiler. If the fixes are that important, we should be doing a release.
Note that even when developing Phobos, you shouldn't ordinarily be checking in code which depends on the latest compiler bugfix. Every time that has happened so far, a compiler beta release has been made. It's not reasonable to expect everyone working on or testing Phobos, to build the compiler themselves.
|
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | ----- Original Message ---- > From: Don Clugston <dclugston at googlemail.com> > To: Discuss the internals of DMD <dmd-internals at puremagic.com> > Sent: Fri, August 27, 2010 4:27:13 PM > Subject: Re: [dmd-internals] default dmd target == debdmd? > > On 27 August 2010 17:28, Steve Schveighoffer <schveiguy at yahoo.com> wrote: > > > > > > > > > > ----- Original Message ---- > >> From: Don Clugston <dclugston at googlemail.com> > >> To: Discuss the internals of DMD <dmd-internals at puremagic.com> > >> Sent: Fri, August 27, 2010 11:21:20 AM > >> Subject: Re: [dmd-internals] default dmd target == debdmd? > >> > >> On 27 August 2010 17:15, Steve Schveighoffer <schveiguy at yahoo.com> wrote: > >> > I was in the process of doing some windows phobos development, so I >decided > >>to > >> > start using the latest compiler from trunk. But when I started building > >> > druntime and phobos, I was getting these printouts: > >> > > >> > Max # of fixups = 0 > >> > Max # of fixups = 1 > >> > Max # of fixups = 4 > >> > Max # of fixups = 1 > >> > ... > >> > > >> > I thought WTF? Well, it turns out the default build of dmd if you just >do > >>make > >> > -f win32.mak is debdmd, not dmd. > >> > > >> > Is there a good reason for this? If not, can we change the default >target > >>to > >> > dmd? > >> > >> It's so you can debug the compiler.Pretty much the only time you want the release version is when making an official release. > > > > Or when you want to utilize unreleased fixes... > > I do not think we should encourage that. Nobody should really be doing that unless they are helping debug/test the compiler. If the fixes are that important, we should be doing a release. > > Note that even when developing Phobos, you shouldn't ordinarily be checking in code which depends on the latest compiler bugfix. Every time that has happened so far, a compiler beta release has been made. It's not reasonable to expect everyone working on or testing Phobos, to build the compiler themselves. I understand this point of view, and I agree. I won't use the trunk version in the future. I still don't think the default should be debug mode, it's very confusing. I can envision people building a released version of the source (i.e. from a downloaded tarball) and expecting it to be a release version without having to specify different arguments. How much will this happen? Not sure, but why provide the source if you don't want people to compile it... -Steve |
August 27, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer | On 27 August 2010 22:34, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
>
>
>
>
> ----- Original Message ----
>> From: Don Clugston <dclugston at googlemail.com>
>> To: Discuss the internals of DMD <dmd-internals at puremagic.com>
>> Sent: Fri, August 27, 2010 4:27:13 PM
>> Subject: Re: [dmd-internals] default dmd target == debdmd?
>>
>> On 27 August 2010 17:28, Steve Schveighoffer <schveiguy at yahoo.com> ?wrote:
>> >
>> >
>> >
>> >
>> > ----- Original Message ?----
>> >> From: Don Clugston <dclugston at googlemail.com>
>> >> ?To: Discuss the internals of DMD <dmd-internals at puremagic.com>
>> >> ?Sent: Fri, August 27, 2010 11:21:20 AM
>> >> Subject: Re: [dmd-internals] ?default dmd target == debdmd?
>> >>
>> >> On 27 August 2010 17:15, ?Steve Schveighoffer <schveiguy at yahoo.com> wrote: ?> I ?was in the process of doing some windows phobos development, so I
>>decided
>> >>to
>> >> > start using the latest compiler from ?trunk. ?But when I started
> ?building
>> >> > druntime and phobos, I was ?getting these ?printouts:
>> >> >
>> >> > Max # of fixups = ?0
>> >> > Max # of fixups = ?1
>> >> > Max # of fixups = ?4
>> >> > Max # of fixups = 1
>> >> > ?...
>> >> ?>
>> >> > I thought WTF? ?Well, it turns out the default build of ?dmd ?if you just
>>do
>> >>make
>> >> > -f win32.mak is debdmd, not ?dmd.
>> >> >
>> >> > Is ?there a good reason for this? ?If ?not, can we change the default
>>target
>> >>to
>> >> > ?dmd?
>> >>
>> >> It's so you can debug the compiler.Pretty much the ?only ?time you want the release version is when making an official ? release.
>> >
>> > Or when you want to utilize unreleased ?fixes...
>>
>> I do not think we should encourage that. Nobody should really be ?doing that unless they are helping debug/test the compiler. If the fixes ?are that important, we should be doing a release.
>>
>> Note that even when ?developing Phobos, you shouldn't ordinarily be checking in code which depends ?on the latest compiler bugfix. Every time that has happened so far, a ?compiler beta release has been made. It's not reasonable to expect everyone ?working on or testing Phobos, to build the compiler ?themselves.
>
> I understand this point of view, and I agree. ?I won't use the trunk version in the future. ?I still don't think the default should be debug mode, it's very confusing. ?I can envision people building a released version of the source (i.e. from a downloaded tarball) and expecting it to be a release version without having to specify different arguments. ?How much will this happen? ?Not sure, but why provide the source if you don't want people to compile it...
>
> -Steve
It's often happened that someone hits a compiler segfault. By
compiling a debug version, and running:
windbg dmd foo.d
they can find which line it's segfaulting on. This has been quite
useful in the past; even people with absolutely no knowledge of C++
have been able to provide helpful info about bugs.
Hopefully, though, most of the segfaults are gone, now <g>.
|
August 28, 2010 [dmd-internals] default dmd target == debdmd? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | On Sat, Aug 28, 2010 at 12:46 AM, Don Clugston <dclugston at googlemail.com> wrote: > > Hopefully, though, most of the segfaults are gone, now <g>. > Most, but not all - I just submitted another one: http://d.puremagic.com/issues/show_bug.cgi?id=4743 Should be easy one to fix, though. |
Copyright © 1999-2021 by the D Language Foundation