This is an archive of the discontinued LLVM Phabricator instance.

[DWARF5] Added support for deleted C++ special member functions.
ClosedPublic

Authored by SouraVX on Oct 19 2019, 1:55 AM.

Details

Summary

This patch adds support for deleted C++ special member functions in clang and llvm. Also added Defaulted member encodings for future support for defaulted member functions.

Diff Detail

Event Timeline

SouraVX created this revision.Oct 19 2019, 1:55 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptOct 19 2019, 1:55 AM
SouraVX marked an inline comment as done.Oct 19 2019, 1:58 AM
SouraVX added inline comments.
llvm/test/DebugInfo/X86/DW_AT_deleted.ll
69

Removed all stringified attributes that aren't strictly necessary -- as mentioned by @aprantl in noreturn patch review.

SouraVX updated this revision to Diff 225749.Oct 19 2019, 2:25 AM

Corrected typo in test case.

aprantl added inline comments.Oct 21 2019, 9:53 AM
clang/lib/CodeGen/CGDebugInfo.cpp
1610

We spell this a DWARF v5 throughout the sources, makes it easier to grep for.

Then again, we probably shouldn't be mentioning DWARF here at all.

1612

We usually don't commit TODO notes into the source code.

1621

this should be else if, or, perhaps slightly better switch(Method.getKind()).

llvm/include/llvm/IR/DebugInfoFlags.def
92

?

Can you add the new flag to either SourceLevelDebugging.rst or LangRef.rst (wherever it fits better)?

SouraVX updated this revision to Diff 225926.Oct 21 2019, 11:12 AM

Addressed comments.

SouraVX marked 4 inline comments as done.Oct 21 2019, 11:18 AM

Thanks Adrian for reviewing this! I've addressed your comments. Please have a look.
Working on the adding documentation part.

clang/lib/CodeGen/CGDebugInfo.cpp
1624

Hi Adrian, is this fine under switch case, or shall I move it outside ??

llvm/include/llvm/IR/DebugInfoFlags.def
92

Wanted to add a note, for future support of Defaulted member functions, they can utilize{or overload} this bit.
As this Defaulted or Deleted are mutually exclusive.
Is this fine ??

SouraVX updated this revision to Diff 226004.Oct 22 2019, 1:31 AM

Updated the documentation for this new flag.

Hi @aprantl, could you please review these changes, while I rework on the other one. Thanks!

aprantl accepted this revision.Oct 28 2019, 1:26 PM
aprantl added inline comments.
llvm/docs/SourceLevelDebugging.rst
998

let's not say "new" here; this document will live for a long time. How about: DWARF v5 introduce attributes defined to ...

This revision is now accepted and ready to land.Oct 28 2019, 1:26 PM
SouraVX updated this revision to Diff 226867.Oct 29 2019, 3:21 AM

Updated doc.

Hi Adrian, Thanks for taking out time for reviewing this. I've again updated doc.
Currently we're in process of getting commit access, discussion with Tom in progress

So, could you please commit these changes.
Thank you so much!

SouraVX marked an inline comment as done.Oct 29 2019, 3:31 AM
This revision was automatically updated to reflect the committed changes.