This is an archive of the discontinued LLVM Phabricator instance.

Save/restore OuterTemplateParams in AbstractManglingParser::parseEncoding.
AbandonedPublic

Authored by ldionne on Jun 9 2021, 5:10 PM.

Details

Summary

Previously we were only saving plain TemplateParams.

Diff Detail

Event Timeline

jlebar requested review of this revision.Jun 9 2021, 5:10 PM
jlebar created this revision.
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJun 9 2021, 5:10 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
jlebar added a comment.Jun 9 2021, 5:11 PM

@rsmith I have no idea if the other test change is correct, and gnu cxxfilt doesn't work with that mangled name. Hope this doesn't actually break something...

rsmith accepted this revision.Jun 9 2021, 5:47 PM
jlebar added a comment.Jun 9 2021, 5:50 PM

Thank you for the review, Richard!

rsmith added inline comments.Jun 9 2021, 6:15 PM
libcxxabi/test/test_demangle.pass.cpp
29595

It's suspicious that spclsr3stdE7forwardIT_Efp_EE appears here but there's no corresponding call to std::forward<...> whatsoever in the demangling any more. Demangling this by hand I get:

template<typename ...T>
auto Ncr::Silver::Utility::detail::CallOnThread<X::$_5>::operator()(T &&...params) const
  -> decltype(F()(std::forward<T>(params) ...))

where X is the (presumably) Objective C symbol -[DeploymentSetupController handleManualServerEntry:]
and F is X::$_5 &Ncr::Silver::Utility::detail::getT<X::$_5>()
and T is an empty pack

So: it's right that std::forward disappears: it's within a pack expansion that was expanded zero times. And the new demangling appears to be correct.

ldionne requested changes to this revision.Oct 6 2021, 1:14 PM
ldionne added a subscriber: ldionne.

Just stumbled upon this while looking at the review queue. Can you briefly explain what this change is about? How is this changing the behavior of the demangler? I don't see something wrong with the patch, but I also don't understand it so..

This revision now requires changes to proceed.Oct 6 2021, 1:14 PM

Also, rebasing onto main would be nice as it would trigger CI again. It would be good to have green CI on this.

Closing since this already landed as c962491a41c3fbc6de50b4c109a67d21b2044d71.

Herald added a project: Restricted Project. · View Herald TranscriptSep 18 2023, 1:23 PM
ldionne commandeered this revision.Sep 18 2023, 1:23 PM
ldionne abandoned this revision.
ldionne edited reviewers, added: jlebar; removed: ldionne.