[phobos] improved module cycle detection algorithm finds existing cycle in phobos, what to do?

Steve Schveighoffer schveiguy at yahoo.com
Fri Nov 5 09:47:57 PDT 2010


OK, it has something to do with the fact that a module is compiled with -lib, 
and with putting the shared constructor in a class.

I'll file a bug report on it.

Note, there still is a cycle, but because of the bug, the compiler isn't 
correctly identifying dependencies.  So we still need to fix 
std.encoding/std.random.

-Steve



----- Original Message ----
> From: Steve Schveighoffer <schveiguy at yahoo.com>
> To: Discuss the phobos library for D <phobos at puremagic.com>
> Sent: Fri, November 5, 2010 12:02:59 PM
> Subject: Re: [phobos] improved module cycle detection algorithm finds existing 
>cycle in phobos, what to do?
> 
> Well, I don't think my algorithm's broken, I think the compiler is doing 
> something strange.
> 
> When building the unit test for std.encoding, the  module std.encoding is 
>listed 
>
> as having shared ctors/dtors, and is not  marked as standalone.
> 
> When building the unit test for std.random, the  module std.encoding is listed 
>as 
>
> *not* having shared ctors/dtors.   However, there are 6 modules named  like:
> 
> encoding.64
> encoding.65
> encoding.66
> encoding.67
> encoding.68
> encoding.69
> 
> Which  are all marked as having shared ctors/dtors, *but* also marked as 
> standalone.
> 
> Why is the compiler doing something different if you are  compiling unit tests 

> for a given module?  And to me, it looks like the  module should have 
> non-standalone ctors/dtors (it has 6 classes which have a  shared static 
this).
> 
> Any clues?
> 
> -Steve
> 
> 
> 
>        
> _______________________________________________
> phobos  mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
> 


      


More information about the phobos mailing list