feat(demangle): Import libswift demangle 6.0.3 #885
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #884, #873
changes-meaning
warning which causes compilation failures on recent GCCs (fine on clang). Demangle entrypoint is now guarded bySWIFT_STDLIB_HAS_TYPE_PRINTING
.This did need some manual patch-up of the
NodePrinter.cpp
which usesendswith
instead ofends_with
. I suspect this is because the llvm sources checked out are newer than 6.0.3 was intended to be built with, at that pointendswith
was still available (but deprecated).I manually had to add the
InvertibleProtocols.def
header file, the update script did not automatically discover it. On a quick glance I couldn't see why not, this is something to look into in a follow-up or just keep it as a manual step.One of the test cases now has a different demangling, all the others still pass, I updated it: