Page MenuHomePhabricator

[MS Demangler] Demangle templated operator overloads

Authored by zturner on Aug 1 2018, 9:44 AM.



After we detected the presence of a template via ?$ we would proceed by only demangling a simple unqualified name. This means we would fail on templated operators (and perhaps other yet-to-be-determined things)

This was discovered while doing some refactoring to store richer semantic information about the demangled types to pave the way for overhauling the way we handle backreferences. (Specifically, we need to defer recording or resolving back-references until a symbol has been completely demangled, because we need to use information that only occurs later in the mangled string to decide whether a back-reference should be recorded.)

Diff Detail


Event Timeline

zturner created this revision.Aug 1 2018, 9:44 AM
ruiu added inline comments.Aug 1 2018, 10:35 AM
276 ↗(On Diff #158556)

I don't see a clear benefit of using bit flags for these attributes. Why don't you use two boolean flags?

zturner updated this revision to Diff 158576.Aug 1 2018, 11:01 AM

Use boolean variables instead of a Flags enum.

ruiu accepted this revision.Aug 1 2018, 11:06 AM


273 ↗(On Diff #158576)

This comment needs updating.

This revision is now accepted and ready to land.Aug 1 2018, 11:06 AM
This revision was automatically updated to reflect the committed changes.