In what order static if conditions are evaluated?

Timon Gehr timon.gehr at gmx.ch
Fri Mar 29 07:24:38 PDT 2013


On 03/29/2013 03:01 PM, Timon Gehr wrote:
> On 03/29/2013 04:22 AM, deadalnix wrote:
>> On Thursday, 28 March 2013 at 18:24:19 UTC, Timon Gehr wrote:
>>> Yes; DMD is buggy and the specification is insufficient. Currently the
>>> meaning of D code as interpreted by DMD may depend on the order the
>>> modules are passed to the compiler on the command line.
>>>
>>
>> Can you have a look at http://wiki.dlang.org/DIP31 ?
>>
>> I have written a proposal to specify this, but it does currently not
>> precise/complete enough.
>
> Poisoning is the right approach. However, the analysis order should be
> the order of potential dependencies between mixin expressions/static if
> conditions and potentially generated symbols. In case there is a cycle
> in the potential dependencies, the symbol lookups occuring in the
> connected component that appears first in a topological ordering of all
> connected components of the potential-dependency graph should poison the
> respective scopes. Analysis can then proceed, because the potential
> dependencies on the cycle are eliminated.
> ...

I meant to write _strongly_ connected components, obviously.




More information about the Digitalmars-d mailing list