September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly schrieb:
> BLS wrote:
>> Walter Bright schrieb:
>>> Mostly bug fixes for CTFE. Added library switches at Tango's request.
>>>
>>> http://www.digitalmars.com/d/1.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.1.021.zip
>>>
>>> http://www.digitalmars.com/d/changelog.html
>>> http://ftp.digitalmars.com/dmd.2.004.zip
>>
>>
>> Multiple
>>
>> Module
>>
>> static constructors/destructors allowed.
>>
>> Unfortunately I have no idea what a "multiple module constructor" is. A code snippet showing a multi. module constructor in action would help.
>> Sorry about my ignorance and thanks in advance.
>
> I thought they were already supported, but here's an example:
>
>
> module MyModule;
>
> static this() { printf( "ctor A\n" ); }
> static this() { printf( "ctor B\n" ); }
> static ~this() { printf( "dtor A\n" ); }
> static ~this() { printf( "dtor B\n" ); }
>
>
> Sean
Hm. okay I am able to call a static ctor/dtor from an foreign module .. but the semantic association I have regarding static module constructor is different/ Something like loading one or more module at compile time, pick up some ctor infos from module A containing A.X A.Y and from module B containing B.C and init. ALL the good stuff in A and B from C. which is in your example MyModule.
However. I have no idea which advantages this feature really has.
Bjoern
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to BLS | BLS wrote:
> However. I have no idea which advantages this feature really has.
In a long module, you can organize the static constructor code in a way that makes sense, rather than being forced to put it all in one place. It also makes it practical to mixin code that requires static construction.
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Sean Kelly wrote:
>> I thought they were already supported, but here's an example:
>>
>>
>> module MyModule;
>>
>> static this() { printf( "ctor A\n" ); }
>> static this() { printf( "ctor B\n" ); }
>> static ~this() { printf( "dtor A\n" ); }
>> static ~this() { printf( "dtor B\n" ); }
>
> They were already supported, they just didn't work :-(
Oh! Then why not make this change to the 1.0 release as well?
Sean
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Wed, 5 Sep 2007, Walter Bright wrote: > Mostly bug fixes for CTFE. Added library switches at Tango's request. > > http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.021.zip > > http://www.digitalmars.com/d/changelog.html http://ftp.digitalmars.com/dmd.2.004.zip The "Download latest D 2.0 alpha D compiler for Win32 and x86 linux" link on http://www.digitalmars.com/d/changelog.html still points to 2.002. Similarly, though at least labeled, the 1.0 changelog still points to 1.016, now 5 versions behind? Now that the 1.0 code line is no longer receiving anything other than bug fixes, is there really the need to distinguish between the latest 1.0 release and some other really stable 1.0 release? http://www.digitalmars.com/d/1.0/dcompiler.html#Win32 still lists all the 1.00 (not 1.x) mirrors. The same with http://www.digitalmars.com/d/1.0/dcompiler.html#linux. There's a non 1.0 scoped version of the page, http://www.digitalmars.com/d/dcompiler.html, that at first glance looks identical to the 1.0/dcompiler.html page with the same problems. I know I've brought some of these things up at least a handfull of times in the past.. can they finally be cleaned up, pretty please? Thanks, Brad |
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote:
> Walter Bright wrote:
>> Sean Kelly wrote:
>>> I thought they were already supported, but here's an example:
>>>
>>>
>>> module MyModule;
>>>
>>> static this() { printf( "ctor A\n" ); }
>>> static this() { printf( "ctor B\n" ); }
>>> static ~this() { printf( "dtor A\n" ); }
>>> static ~this() { printf( "dtor B\n" ); }
>>
>> They were already supported, they just didn't work :-(
>
> Oh! Then why not make this change to the 1.0 release as well?
>
>
> Sean
Walter: Yes please! Great job on the latest update, btw. (As if you haven't heard it yet.)
-- Chris Nicholson-Sauls
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright Wrote:
> Mostly bug fixes for CTFE. Added library switches at Tango's request.
>
> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.021.zip
>
> http://www.digitalmars.com/d/changelog.html http://ftp.digitalmars.com/dmd.2.004.zip
Wow, thanks! It was definitely worth the wait! Also, thanks for adding a few non-breaking features (multiple module static constructors/destructors) to the 1.x branch to show it's still got life, and for adding the default lib switch!
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Nicholson-Sauls | Chris Nicholson-Sauls wrote:
> Sean Kelly wrote:
>> Walter Bright wrote:
>>> Sean Kelly wrote:
>>>> I thought they were already supported, but here's an example:
>>>>
>>>>
>>>> module MyModule;
>>>>
>>>> static this() { printf( "ctor A\n" ); }
>>>> static this() { printf( "ctor B\n" ); }
>>>> static ~this() { printf( "dtor A\n" ); }
>>>> static ~this() { printf( "dtor B\n" ); }
>>>
>>> They were already supported, they just didn't work :-(
>>
>> Oh! Then why not make this change to the 1.0 release as well?
>
> Walter: Yes please! Great job on the latest update, btw. (As if you haven't heard it yet.)
My mistake. I thought this was only in the 2.0 changelog but it's in both.
Sean
|
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | Brad Roberts wrote: > The "Download latest D 2.0 alpha D compiler for Win32 and x86 linux" link on http://www.digitalmars.com/d/changelog.html still points to 2.002. > > Similarly, though at least labeled, the 1.0 changelog still points to 1.016, now 5 versions behind? Now that the 1.0 code line is no longer receiving anything other than bug fixes, is there really the need to distinguish between the latest 1.0 release and some other really stable 1.0 release? I think their is still a need, as there's always a risk I break something with a new release, even if it's just bug fixes. > http://www.digitalmars.com/d/1.0/dcompiler.html#Win32 still lists all the 1.00 (not 1.x) mirrors. The same with http://www.digitalmars.com/d/1.0/dcompiler.html#linux. There's a non 1.0 scoped version of the page, http://www.digitalmars.com/d/dcompiler.html, that at first glance looks identical to the 1.0/dcompiler.html page with the same problems. I'll fix it. |
September 05, 2007 Re: DMD 1.021 and 2.004 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote:
> Chris Nicholson-Sauls wrote:
>> Sean Kelly wrote:
>>> Walter Bright wrote:
>>>> Sean Kelly wrote:
>>>>> I thought they were already supported, but here's an example:
>>>>>
>>>>>
>>>>> module MyModule;
>>>>>
>>>>> static this() { printf( "ctor A\n" ); }
>>>>> static this() { printf( "ctor B\n" ); }
>>>>> static ~this() { printf( "dtor A\n" ); }
>>>>> static ~this() { printf( "dtor B\n" ); }
>>>>
>>>> They were already supported, they just didn't work :-(
>>>
>>> Oh! Then why not make this change to the 1.0 release as well?
>>
>> Walter: Yes please! Great job on the latest update, btw. (As if you haven't heard it yet.)
>
> My mistake. I thought this was only in the 2.0 changelog but it's in both.
>
>
> Sean
Pardon me while I do my happy dance.
-- Chris Nicholson-Sauls
|
September 06, 2007 Compile error: QuadPart is not a member of LARGE_INTEGER (Re: DMD 1.021 and 2.004 releases) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | build every program, cause: Compile error: QuadPart is not a member of LARGE_INTEGER DMD 1.021, Windows XP, I Searched the DMD directory, not find the definition of LARGE_INTEGER |
Copyright © 1999-2021 by the D Language Foundation