This is an archive of the discontinued LLVM Phabricator instance.

Straight forward FastDemangle replacement in SubsPrimitiveParmItanium
ClosedPublic

Authored by sgraenitz on Aug 10 2018, 4:22 PM.

Details

Summary

Removing FastDemangle will greatly reduce maintenance efforts. This patch replaces the last point of use in LLDB. Semantics should be kept intact.

Once this is agreed upon, we can:

  • Remove the FastDemangle sources
  • Add more features e.g. substitutions in template parameters, considering all variations, etc.

Depends on LLVM patch https://reviews.llvm.org/D50586

Event Timeline

sgraenitz created this revision.Aug 10 2018, 4:22 PM
JDevlieghere added inline comments.Aug 13 2018, 12:54 AM
source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
281

I had to look at the old code to understand the name of this struct. How about DemangleContext or even just Context?

292

typo: substitute

316

In the other patch you call this argument a callback, maybe do the same here for consistency?

sgraenitz updated this revision to Diff 160330.Aug 13 2018, 4:40 AM

Address Jonas' comments, fix logging, fix copying over remaining part from original, polishing

sgraenitz marked 3 inline comments as done.Aug 13 2018, 4:42 AM
sgraenitz added inline comments.
source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
281

Aligned it with the function name

340

This was missing. Also added a test.

JDevlieghere accepted this revision.Aug 13 2018, 6:46 AM

Looks good to me.

This revision is now accepted and ready to land.Aug 13 2018, 6:46 AM
This revision was automatically updated to reflect the committed changes.