January 18, 2010
Hi,

Walter Bright wrote:
>
>
> Rainer Schuetze wrote:
>>
>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>
> They're done now.
>
Cool, thanks.

>>
>> And another thing: when there are forward references that are not resolved for a long time, Module::runDeferredSemantic() can waste a lot of memory and cpu-cycles. It should not retry between every new symbol in a class or struct, but only when some sensible progress is made (e.g. if Module::dprogress > 0). runDeferredSemantic() must then be forced to run once before running semantic2() on the modules. It's not easy to create a small test case, but qtd fails to compile with "out of memory" without this change.
>>
>
> Could you put your patch into bugzilla, please?

It can now be found here:

http://d.puremagic.com/issues/show_bug.cgi?id=3719

Rainer

January 19, 2010
Just one thing - is it an easy addition to support accessing arrays as
struct members during CTFE (something like this.a[] = param[]; or
this.a[0] = x;)?
If that could get in it would make me really happy. It's the only thing
left now to get rid of struct initializers for static array based
structs and compile time constants, like static immutable Vec3 zerovec =
Vec3(0, 0, 0);

> Walter Bright wrote:
>> You can download the software as a zip file from:
>>
>>
>> http://download.digitalmars.com/dmd2beta.zip
>> userid: customer
>> passwd: download7
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>

January 18, 2010
On 1/18/2010 5:45 PM, S?nke Ludwig wrote:
> Just one thing - is it an easy addition to support accessing arrays as
> struct members during CTFE (something like this.a[] = param[]; or
> this.a[0] = x;)?
> If that could get in it would make me really happy. It's the only thing
> left now to get rid of struct initializers for static array based
> structs and compile time constants, like static immutable Vec3 zerovec =
> Vec3(0, 0, 0);

This sort of question belongs on the main D news group, not on the beta list, imho.

Later,
Brad

January 19, 2010
2010/1/19 S?nke Ludwig <ludwig at informatik.uni-luebeck.de>:
> Just one thing - is it an easy addition to support accessing arrays as
> struct members during CTFE (something like this.a[] = param[]; or this.a[0]
> = x;)?
> If that could get in it would make me really happy. It's the only thing left
> now to get rid of struct initializers for static array based structs and
> compile time constants, like static immutable Vec3 zerovec = Vec3(0, 0, 0);

It's not so difficult (it's an extension of existing code) but it
won't be in the next release.
Will probably be in the February release.
You can put it in Bugzilla if you like.




>
>> Walter Bright wrote:
>>>
>>> You can download the software as a zip file from:
>>>
>>>
>>> http://download.digitalmars.com/dmd2beta.zip
>>> userid: customer
>>> passwd: download7
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
January 20, 2010
Hi,

I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.

Rainer

Rainer Schuetze wrote:
> Hi,
>
> Walter Bright wrote:
>>
>>
>> Rainer Schuetze wrote:
>>>
>>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>>
>> They're done now.
>>
> Cool, thanks.
>
>>>
>>> And another thing: when there are forward references that are not resolved for a long time, Module::runDeferredSemantic() can waste a lot of memory and cpu-cycles. It should not retry between every new symbol in a class or struct, but only when some sensible progress is made (e.g. if Module::dprogress > 0). runDeferredSemantic() must then be forced to run once before running semantic2() on the modules. It's not easy to create a small test case, but qtd fails to compile with "out of memory" without this change.
>>>
>>
>> Could you put your patch into bugzilla, please?
>
> It can now be found here:
>
> http://d.puremagic.com/issues/show_bug.cgi?id=3719
>
> Rainer
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>

January 20, 2010
I just tried it, and it works.

Rainer Schuetze wrote:
> Hi,
>
> I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.
>
> Rainer
>
> Rainer Schuetze wrote:
>> Hi,
>>
>> Walter Bright wrote:
>>>
>>>
>>> Rainer Schuetze wrote:
>>>>
>>>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>>>
>>> They're done now.
>>>
>> Cool, thanks.
>>
>>>>
>>>> And another thing: when there are forward references that are not
>>>> resolved for a long time, Module::runDeferredSemantic() can waste a
>>>> lot of memory and cpu-cycles. It should not retry between every new
>>>> symbol in a class or struct, but only when some sensible progress
>>>> is made (e.g. if Module::dprogress > 0). runDeferredSemantic() must
>>>> then be forced to run once before running semantic2() on the modules.
>>>> It's not easy to create a small test case, but qtd fails to compile
>>>> with "out of memory" without this change.
>>>>
>>>
>>> Could you put your patch into bugzilla, please?
>>
>> It can now be found here:
>>
>> http://d.puremagic.com/issues/show_bug.cgi?id=3719
>>
>> Rainer
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
January 20, 2010
Hi,

I just tried again, rebuilt dmd after clean, but the error persists (though it's different from the one reported in the bugzilla entry #3674). I have added a detailed description to the entry.

I think this has crawled into dmd with changes to the Type::covariant() function, but I have no clue why it didn't show up earlier (and why you don't see it).

Rainer

Walter Bright wrote:
> I just tried it, and it works.
>
> Rainer Schuetze wrote:
>> Hi,
>>
>> I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.
>>
>> Rainer
>>
>> Rainer Schuetze wrote:
>>> Hi,
>>>
>>> Walter Bright wrote:
>>>>
>>>>
>>>> Rainer Schuetze wrote:
>>>>>
>>>>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>>>>
>>>> They're done now.
>>>>
>>> Cool, thanks.
>>>
>>>>>
>>>>> And another thing: when there are forward references that are not
>>>>> resolved for a long time, Module::runDeferredSemantic() can waste
>>>>> a lot of memory and cpu-cycles. It should not retry between every
>>>>> new symbol in a class or struct, but only when some sensible
>>>>> progress is made (e.g. if Module::dprogress > 0).
>>>>> runDeferredSemantic() must then be forced to run once before
>>>>> running semantic2() on the modules.
>>>>> It's not easy to create a small test case, but qtd fails to
>>>>> compile with "out of memory" without this change.
>>>>>
>>>>
>>>> Could you put your patch into bugzilla, please?
>>>
>>> It can now be found here:
>>>
>>> http://d.puremagic.com/issues/show_bug.cgi?id=3719
>>>
>>> Rainer
>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>

January 20, 2010
I tried it again, it still works. All I can suggest is you are working from a different set of dmd sources than I am.

Rainer Schuetze wrote:
> Hi,
>
> I just tried again, rebuilt dmd after clean, but the error persists (though it's different from the one reported in the bugzilla entry #3674). I have added a detailed description to the entry.
>
> I think this has crawled into dmd with changes to the Type::covariant() function, but I have no clue why it didn't show up earlier (and why you don't see it).
>
> Rainer
>
> Walter Bright wrote:
>> I just tried it, and it works.
>>
>> Rainer Schuetze wrote:
>>> Hi,
>>>
>>> I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.
>>>
>>> Rainer
>>>
>>> Rainer Schuetze wrote:
>>>> Hi,
>>>>
>>>> Walter Bright wrote:
>>>>>
>>>>>
>>>>> Rainer Schuetze wrote:
>>>>>>
>>>>>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>>>>>
>>>>> They're done now.
>>>>>
>>>> Cool, thanks.
>>>>
>>>>>>
>>>>>> And another thing: when there are forward references that are not
>>>>>> resolved for a long time, Module::runDeferredSemantic() can waste
>>>>>> a lot of memory and cpu-cycles. It should not retry between every
>>>>>> new symbol in a class or struct, but only when some sensible
>>>>>> progress is made (e.g. if Module::dprogress > 0).
>>>>>> runDeferredSemantic() must then be forced to run once before
>>>>>> running semantic2() on the modules.
>>>>>> It's not easy to create a small test case, but qtd fails to
>>>>>> compile with "out of memory" without this change.
>>>>>>
>>>>>
>>>>> Could you put your patch into bugzilla, please?
>>>>
>>>> It can now be found here:
>>>>
>>>> http://d.puremagic.com/issues/show_bug.cgi?id=3719
>>>>
>>>> Rainer
>>>>
>>>> _______________________________________________
>>>> dmd-beta mailing list
>>>> dmd-beta at puremagic.com
>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>
>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
January 21, 2010
It fails for me, too. Your version must be different to the version in svn. See also the ICE regression bug 3726 which popped up in the most recent commit.


2010/1/21 Walter Bright <walter at digitalmars.com>:
> I tried it again, it still works. All I can suggest is you are working from a different set of dmd sources than I am.
>
> Rainer Schuetze wrote:
>>
>> Hi,
>>
>> I just tried again, rebuilt dmd after clean, but the error persists
>> (though it's different from the one reported in the bugzilla entry #3674). I
>> have added a detailed description to the entry.
>>
>> I think this has crawled into dmd with changes to the Type::covariant()
>> function, but I have no clue why it didn't show up earlier (and why you
>> don't see it).
>>
>> Rainer
>>
>> Walter Bright wrote:
>>>
>>> I just tried it, and it works.
>>>
>>> Rainer Schuetze wrote:
>>>>
>>>> Hi,
>>>>
>>>> I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.
>>>>
>>>> Rainer
>>>>
>>>> Rainer Schuetze wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Walter Bright wrote:
>>>>>>
>>>>>>
>>>>>> Rainer Schuetze wrote:
>>>>>>>
>>>>>>> So, if you want to make the qtd-people happy, issues #3600 and #3647 should be addressed.
>>>>>>
>>>>>> They're done now.
>>>>>>
>>>>> Cool, thanks.
>>>>>
>>>>>>>
>>>>>>> And another thing: when there are forward references that are not
>>>>>>> resolved for a long time, Module::runDeferredSemantic() can waste a lot of
>>>>>>> memory and cpu-cycles. It should not retry between every new symbol in a
>>>>>>> class or struct, but only when some sensible progress is made (e.g. if
>>>>>>> Module::dprogress > 0). runDeferredSemantic() must then be forced to run
>>>>>>> once before running semantic2() on the modules.
>>>>>>> It's not easy to create a small test case, but qtd fails to compile
>>>>>>> with "out of memory" without this change.
>>>>>>>
>>>>>>
>>>>>> Could you put your patch into bugzilla, please?
>>>>>
>>>>> It can now be found here:
>>>>>
>>>>> http://d.puremagic.com/issues/show_bug.cgi?id=3719
>>>>>
>>>>> Rainer
>>>>>
>>>>> _______________________________________________
>>>>> dmd-beta mailing list
>>>>> dmd-beta at puremagic.com
>>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>>
>>>>
>>>> _______________________________________________
>>>> dmd-beta mailing list
>>>> dmd-beta at puremagic.com
>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>
>>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
January 21, 2010
Hi,

sorry for causing confusion, but it still won't compile here. Getting a fresh copy from the repository showed no difference in the source code. I've also tried going back to revision 324 with the original patch, still an error. qtd compiled a week ago, so I'm completely confused.

Do you see a flaw in the analysis in bugzilla #3674? Maybe discussion should be done there...

Rainer

Walter Bright wrote:
> I tried it again, it still works. All I can suggest is you are working from a different set of dmd sources than I am.
>
> Rainer Schuetze wrote:
>> Hi,
>>
>> I just tried again, rebuilt dmd after clean, but the error persists (though it's different from the one reported in the bugzilla entry #3674). I have added a detailed description to the entry.
>>
>> I think this has crawled into dmd with changes to the Type::covariant() function, but I have no clue why it didn't show up earlier (and why you don't see it).
>>
>> Rainer
>>
>> Walter Bright wrote:
>>> I just tried it, and it works.
>>>
>>> Rainer Schuetze wrote:
>>>> Hi,
>>>>
>>>> I just wanted to drop a note that there seems to be regression with the latest changes committed to subversion. It seems to be related to #3674 (the test-case fails), but I have no clue yet what's been causing this. I will try to figure out what's going on tonight.
>>>>
>>>> Rainer