[Issue 6045] Unable to demangle symbols
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Sep 6 12:13:18 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6045
Sean Kelly <sean at invisibleduck.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sean at invisibleduck.org
--- Comment #2 from Sean Kelly <sean at invisibleduck.org> 2011-09-06 12:13:06 PDT ---
Is that second symbol really valid? Here's a brief run-down of one pertinent
portion of the parse, given:
70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZ
The format for a TemplateInstanceName is:
Number __T LName TemplateArgs Z
So we pick off '70' as Number, match the '__T', pick out the LName of
"SqlitePersister", then match a template arg (which begin with a 'T', 'V', or
'S') to get "serenity.persister.Sqlite.__unittest6". At this point we expect a
'T', 'V', or 'S' if there's another template arg to parse... there isn't one,
so we jump back to parsing the TemplateInstance name and expect a 'Z' to
terminate the name. We find an 'F' instead, so this isn't a template name and
so we assume that this is a weird qualified name instead.
Is there some use of the 'F' that the ABI doesn't mention? Otherwise I think
core.demangle is currently correct in its treatment of the second symbol.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list