www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14591] New: [SPEC] Ambiguity between extern(Pascal) and


          Issue ID: 14591
           Summary: [SPEC] Ambiguity between extern(Pascal) and template
                    value parameters
           Product: D
           Version: D1 & D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

It's impossible to tell when demangling a symbol whether a 'V' we have
encountered is for a extern(Pascal) calling convention or a template value

Two examples:


One should be demangled to:
demangle.test!(demangle.foo(none, none).bar).baz()

and the other to:
demangle.test!(demangle.foo, null).bar.baz()

Because of this, I suggest Pascal calling convention mangle symbol should be
changed to another symbol that is not shared with TemplateArgX (or even better,
we should remove Pascal entirely)

May 16 2015