Page MenuHomePhabricator

DebugInfo: Remove auto return type representation support
ClosedPublic

Authored by dblaikie on Aug 15 2022, 5:43 PM.

Details

Summary

Seems this complicated lldb sufficiently for some cases that it hasn't
been worth supporting/fixing there - and it so far hasn't provided any
new use cases/value for debug info consumers, so let's remove it until
someone has a use case for it.

(side note: the original implementation of this still had a bug (I
should've caught it in review) that we still didn't produce
auto-returning function declarations in types where the function wasn't
instantiatied (that requires a fix to remove the `if
getContainedAutoType` condition in
CGDebugInfo::CollectCXXMemberFunctions - without that, auto returning
functions were still being handled the same as member function templates
and special member functions - never added to the member list, only
attached to the type via the declaration chain from the definition)

Further discussion about this in D123319

This reverts commit 5ff992bca208a0e37ca6338fc735aec6aa848b72: [DEBUG-INFO] Change how we handle auto return types for lambda operator() to be consistent with gcc

This reverts commit c83602fdf51b2692e3bacb06bf861f20f74e987f: [DWARF5][clang]: Added support for DebugInfo generation for auto return type for C++ member functions.

Diff Detail

Event Timeline

dblaikie created this revision.Aug 15 2022, 5:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2022, 5:43 PM
dblaikie requested review of this revision.Aug 15 2022, 5:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2022, 5:43 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript

If we are not deriving any useful functionality from supporting this in debug-info then this makes sense to me but I will let someone still directly involved to approve it.

aprantl accepted this revision.Aug 16 2022, 3:52 PM
This revision is now accepted and ready to land.Aug 16 2022, 3:52 PM
This revision was landed with ongoing or failed builds.Aug 16 2022, 5:35 PM
This revision was automatically updated to reflect the committed changes.