Why is mangling different for separate compilation?

Jacob Carlborg via Digitalmars-d digitalmars-d at puremagic.com
Sun Feb 28 23:22:45 PST 2016


On 2016-02-28 22:03, Chris Wright wrote:

> Or like there's a global counter that is incremented for each unittest. A
> different order of traversal of unittests would result in a different
> mangled name for the same unittest in different runs.

The question is why it would be different.

Here's a guess:

* The compiler will perform semantic analysis of the code in the current 
module before processing any imports

* It will also process all files on the command line before processing 
any imports

* The compiler will process object.d before processing any other imports

That would mean in the case when compiling foo.d during separate 
compilation it would process object.d before processing bar.d. That 
would mean the compiler is processing a lot unittest blocks through 
object.d and its imports before processing the unittest block in bar.d.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list