Bug 12217 – Unstable instance mangled name of function local template

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-02-20T23:45:00Z
Last change time
2014-02-21T08:53:26Z
Keywords
pull, wrong-code
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2014-02-20T23:45:43Z
Test case: void foo(int) { static struct S {} pragma(msg, " ", S.mangleof); void bar() {} pragma(msg, bar.mangleof); int var; pragma(msg, var.mangleof); template X(T) {} pragma(msg, " ", X!int.mangleof); // ! } version(bug) void foo() {} Without "-version=bug" S4test3fooFiZv1S _D4test3fooFiZv3barMFZv _D4test3fooFiZv3vari 4test3fooFiZv8__T1XTiZ <---- With "-version=bug" S4test3fooFiZv1S _D4test3fooFiZv3barMFZv _D4test3fooFiZv3vari 4test3foo8__T1XTiZ <---- changed!
Comment #1 by k.hara.pg — 2014-02-21T02:07:45Z
Comment #2 by github-bugzilla — 2014-02-21T08:32:16Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9005833f089eca4945f3d7d520510d4ad55512ab fix Issue 12217 - Unstable instance mangled name of function local template https://github.com/D-Programming-Language/dmd/commit/d31dcfb825e548355972fee29d9fbd95a55807aa Merge pull request #3312 from 9rnsr/fix12217 Issue 12217 - Unstable instance mangled name of function local template