D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 6831 - mangled name over 128 characters becomes unreadable
Summary: mangled name over 128 characters becomes unreadable
Status: RESOLVED WONTFIX
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86 Windows
: P2 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-19 11:52 UTC by kekeniro2
Modified: 2015-06-09 05:10 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description kekeniro2 2011-10-19 11:52:26 UTC
I found that when a mangled name is very long, it turns into UNREADABLE characters. And the limit of the length is 128 characters.( It is too short! )

----- Beginning of source
module manglingtest;    // length of module name is significant!

class MyClass { }
 
void tfunc(T, U)(T a, U b) { }
 
void main() {
        auto a = new MyClass;
        auto b = new MyClass; 
        tfunc(a,b);        // wrong mangling
}
----- End of source

(Additional) I am using a tool to read build messages and map files, so such unreadables are especially inconvenienced. And I want to write for profiler's output, too.

Environment:
D2.055
Windows XP SP3 32-bit
Comment 1 Simen Kjaeraas 2011-10-19 12:57:08 UTC
This is a limitation of the current linker. Until a linker comes around that can handle humongous names, this will not be fixed. Walter is in the process of rewriting the linker, so perhaps this will eventually be fixed, but don't hold your breath.
Comment 2 Walter Bright 2012-01-21 00:23:51 UTC
It'll have to wait until we move to a new object file format.