[Lldb-commits] [PATCH] D61146: Set a CXXRecordDecl to not be passed in registers if DW_CC_pass_by_reference when loading from DWARF

Shafik Yaghmour via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 25 13:41:41 PDT 2019


shafik created this revision.
shafik added reviewers: jingham, aprantl, teemperor, rsmith.

This will fix a bug where during expression parsing we are not setting a `CXXRecordDecl` to not be passed in registers and the resulting code generation is wrong.

The DWARF attribute `DW_CC_pass_by_reference` tells us that we should not be passing in registers i.e. `RAA_Indirect`.

This change depends this clang change which fixes the fact that the ASTImporter does not copy `RecordDeclBits` for `CXXRecordDecl`:

  https://reviews.llvm.org/D61140


https://reviews.llvm.org/D61146

Files:
  packages/Python/lldbsuite/test/expression_command/argument_passing_restrictions/Makefile
  packages/Python/lldbsuite/test/expression_command/argument_passing_restrictions/TestArgumentPassingRestrictions.py
  packages/Python/lldbsuite/test/expression_command/argument_passing_restrictions/main.cpp
  source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61146.196716.patch
Type: text/x-patch
Size: 3225 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190425/a2766831/attachment.bin>


More information about the lldb-commits mailing list