Hello,
From: Dani?l Mantione
Op Thu, 18 May 2006, schreef Thomas Schatzl:
Show quoted text 14 lines
The compiler already hashes these symbols.
Show quoted text 11 lines
Hashing is already done in the compiler for these symbols.
And I think at that point in code generation it isn't possible anymore to change the symbol name. But I think I'd need to change the symbol name itself... what if that symbol is referenced by different places with different methods? Once with -Cg and once without... (Admittedly I haven't checked that).
Note that this symbol is not the "worst" one - there is one in the FCL (iirc) which gets even longer and made problems when the compiler internal hashing is done more aggressively (e.g. tweaking the hashing code of the compiler so that the make cycle succeeds, by roughly *halving* the compiler threshold for too long labels so that it starts hashing earlier)
Maybe there are even worse ones, didn't bother trying to make hashing even more aggressive.
I.e. there is _already_ existing code that produces such long labels, especially for things like VMT entries, interface stubs etc. That's why it doesn't require too much work to construct a non-compiling example (Note that I don't think that exactly those are affected by -Cg ;)
Additionally I didn't say that ansistrings have to be used for these things.
Regards,
Thomas
