This is an archive of the discontinued LLVM Phabricator instance.

[MS Demangler] Demangle various C++11 features.
ClosedPublic

Authored by zturner on Jul 30 2018, 2:24 PM.

Details

Summary

This patch adds support for demangling r-value references, new operators such as the ""_foo operator, lambdas, alias types, nullptr_t, and various other C++11'isms.

There is 1 failing test remaining in this file, which appears to be related to back-referencing. This type of problem has the potential to get ugly so I'd rather fix it in a separate patch.

Diff Detail

Repository
rL LLVM

Event Timeline

zturner created this revision.Jul 30 2018, 2:24 PM
ruiu accepted this revision.Jul 30 2018, 3:17 PM

LGTM

I picked up a few tests and double-checked that these tests are correct by using undname.

llvm/lib/Demangle/MicrosoftDemangle.cpp
1747 ↗(On Diff #158070)

nit: I believe you can use {}.

This revision is now accepted and ready to land.Jul 30 2018, 3:17 PM
This revision was automatically updated to reflect the committed changes.