April 18, 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=109

           Summary: incorrect name mangling for template value arguments
           Product: D
           Version: 0.154
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: thomas-dloop@kuehne.cn


template T (long x){
        void T(){
        }
}

mixin T!(1);
mixin T!(1u);
mixin T!(1L);
mixin T!(1Lu);

generated symbols:
_D1a9__T1TVi1Z1TFZv
_D1a9__T1TVk1Z1TFZv
_D1a9__T1TVl1Z1TFZv
_D1a9__T1TVm1Z1TFZv

shouldn't all manglings be:
_D1a9__T1TVl1Z1TFZv

While the current mangling doesn't cause bugs in pure D code it could lead to nasty problems if D and non-D code are combinded.


--