Re: Does static ctor/dtor of struct behave differently in 2.067-b2?

2015-03-01 Thread amber via Digitalmars-d-learn

On Saturday, 28 February 2015 at 03:26:17 UTC, ketmar wrote:

On Fri, 27 Feb 2015 23:58:16 +, amber wrote:


On Friday, 27 February 2015 at 23:50:51 UTC, amber wrote:

Hi All,

[snip]

Thanks, amber


[edited subject]

Sorry I should add that I'm talking about static ctor/dtor of 
struct.


The bug I see with 2.067-b2 is this:

1. static this() {} called and static fields of struct are 
initialised

2. app runs, static fields are initialised.
3. static ~this() {} called and static fields of struct are NOT
initialised.


In step 3 with 2.066.1 all the static fields of struct are 
still

initialised, as expected, and my app shuts down cleanly.


is your struct GC-allocated? and can you provide dustmited code 
or

something we can play with?


Hi ketmar, thanks for replying.

I think I have figured out what was happening.

DMD 2.067 spins up 5 threads when running the unittests and DMD 
2.066.1 only uses one thread. This change exposed a bug in the 
static ctor which I've now fixed.


Thanks,
amber


Re: Does static ctor/dtor of struct behave differently in 2.067-b2?

2015-02-27 Thread ketmar via Digitalmars-d-learn
On Fri, 27 Feb 2015 23:58:16 +, amber wrote:

> On Friday, 27 February 2015 at 23:50:51 UTC, amber wrote:
>> Hi All,
> [snip]
>> Thanks, amber
> 
> [edited subject]
> 
> Sorry I should add that I'm talking about static ctor/dtor of struct.
> 
> The bug I see with 2.067-b2 is this:
> 
> 1. static this() {} called and static fields of struct are initialised
> 2. app runs, static fields are initialised.
> 3. static ~this() {} called and static fields of struct are NOT
> initialised.
> 
> 
> In step 3 with 2.066.1 all the static fields of struct are still
> initialised, as expected, and my app shuts down cleanly.

is your struct GC-allocated? and can you provide dustmited code or 
something we can play with?

signature.asc
Description: PGP signature


Re: Does static ctor/dtor of struct behave differently in 2.067-b2?

2015-02-27 Thread amber via Digitalmars-d-learn

On Friday, 27 February 2015 at 23:50:51 UTC, amber wrote:

Hi All,

[snip]

Thanks,
amber


[edited subject]

Sorry I should add that I'm talking about static ctor/dtor of 
struct.


The bug I see with 2.067-b2 is this:

1. static this() {} called and static fields of struct are 
initialised

2. app runs, static fields are initialised.
3. static ~this() {} called and static fields of struct are NOT 
initialised.



In step 3 with 2.066.1 all the static fields of struct are still 
initialised, as expected, and my app shuts down cleanly.


Thanks,
amber