Bug 19805 – wrong windows mangling for generic arguments with two identical template args

Status
NEW
Severity
blocker
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
Windows
Creation time
2019-04-13T13:49:48Z
Last change time
2024-12-13T19:03:00Z
Keywords
C++, mangling
Assigned to
No Owner
Creator
Илья Ярошенко
Moved to GitHub: dmd#17903 →

Comments

Comment #0 by ilyayaroshenko — 2019-04-13T13:49:48Z
C++ ================================== template<class T, class T> struct C {}; template<class T> struct R {}; void bar3(C<int*, int*>) {} void bar4(C<R<int>, R<int>>) {} // ?bar3@@YAXU?$C@PEAHPEAH@@@Z // ?bar4@@YAXU?$C@U?$R@H@@U1@@@@Z ================================== D ================================== struct C(T1, T2) {} struct R(T) {} extern(C++): void bar3(C!(int*, int*)); void bar4(C!(R!int, R!int)); pragma(msg, bar3.mangleof); pragma(msg, bar4.mangleof); // ?bar3@@YAXU?$C@PEAH0@@@Z (wrong) // ?bar4@@YAXU?$C@U?$R@H@@0@@@Z (wrong) ==================================
Comment #1 by robert.schadek — 2024-12-13T19:03:00Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17903 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB