This is an archive of the discontinued LLVM Phabricator instance.

[libcxxabi][demangler] Clean up and llvm-ify the type parser
ClosedPublic

Authored by erik.pilkington on Jan 9 2018, 3:50 PM.

Details

Summary

As of https://reviews.llvm.org/D41885, every parse_* function now either returns a single Node* or fails. I'm using this new rule to clean up the parsing for the demangler, and also update it to use LLVM coding conventions. This patch updates the type parser. This patch also fixes a bug I noticed where multiple qualifiers on a type get distinct entries in the substitution table.

Thanks!
Erik

Diff Detail

Event Timeline

erik.pilkington created this revision.Jan 9 2018, 3:50 PM
dexonsmith requested changes to this revision.Jan 31 2018, 5:04 PM

If it's possible to separate the bugfix into a separate commit (either before or after), I think you should.

This revision now requires changes to proceed.Jan 31 2018, 5:04 PM

Rebase and remove the qualifier substitution bug fix.

This revision is now accepted and ready to land.Feb 4 2018, 7:46 AM
This revision was automatically updated to reflect the committed changes.