Why C++ compiles slowly

Jonathan M Davis jmdavisprog at gmail.com
Tue Aug 24 14:53:44 PDT 2010


On Tuesday, August 24, 2010 14:37:09 bearophile wrote:
> Steven Schveighoffer:
> > For example, foo(HashSet!int hs) inside the module testme becomes:
> > _D6testme3fooFC12dcollections7HashSet14__T7HashSetTiZ7HashSetZv
> 
> And I think some more things needs to be added to that string, like a
> representation for the pure attribute, etc.
> 
> Bye,
> bearophile

They probably aren't there because

1. They have nothing to do with overrideability.

2. They have nothing to do with C linking.

Presumably, dmd deals with those attributes at the appropriate time and then 
doesn't bother putting them in the symbol table because they're not relevant any 
more (or if they are relevant, it has other ways of getting at them). If they 
were actually necessary in the symbol name, they'd be there. If they aren't 
necessary, why bother putting them in there, making the symbol names even 
longer?

- Jonathan M Davis


More information about the Digitalmars-d mailing list