Summary: CodeView: Global and Static symbols should have
                    unmangled names
           Product: D
           Version: unspecified
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

--- Comment #0 from Aldo Nunez <> 2010-09-05 00:35:07 PDT 
Global and Static symbols should have their names stored fully qualified but
unmangled in the CodeView debug info. In contrast, Public symbols, because they
are meant to expose names to other object files, should have their mangled
linkage names stored, as they already are.

Right now Global and Static symbol names are stored mangled. This causes
problems when debugging. Storing them mangled defeats the ability of a debugger
to use the hash table made by the linker in order to look up variables the user
wants to evaluate and functions in a callstack. It also seems to offer no
meaningful service, because mangled names are more appropriate for linking than

This affects at least the following kinds of symbol records in the sstGlobalSym
and sstStaticSym sections (not sstGlobalPub):

S_UDT (already OK)

The following article gives some explanation of the separation in treating name
mangling. It applies to PDB format, but it's believed that PDB derives from
CodeView, so I think the article applies equally to both.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to