Official compiler

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Feb 27 14:30:27 PST 2016


On 2/27/2016 12:05 PM, Timon Gehr wrote:
> On 26.02.2016 23:41, Walter Bright wrote:
>> On 2/26/2016 1:10 PM, Timon Gehr wrote:
>>> Different passes are not really required once semantic analysis becomes
>>> asynchronous. Just keep track of semantic analysis dependencies, with
>>> strong and
>>> weak dependencies and different means to resolve cycles of weak
>>> dependencies.
>>> Then write the semantic analysis of each component in a linear fashion
>>> and pause
>>> it whenever it depends on information that has not yet been obtained,
>>> until that
>>> information is computed.
>>
>> I'll put you in charge of debugging that :-)
>
> I am/was (I have not worked on it a lot lately). I haven't found it to be
> particularly hard to debug.

It'll get 100 times harder if it's a heisenbug due to synchronization issues.


> It is likely the best way to fix the "forward reference error" situation.
> My code which does this does not compile on DMD versions after 2.060 due to
> forward reference issues. I have just reduced one of them:
> https://issues.dlang.org/show_bug.cgi?id=15733

Thanks for preparing a bug report.



More information about the Digitalmars-d mailing list