]> granicus.if.org Git - clang/commit
Debug Info: Support DW_AT_calling_convention on composite types.
authorAdrian Prantl <aprantl@apple.com>
Fri, 5 Jan 2018 01:13:52 +0000 (01:13 +0000)
committerAdrian Prantl <aprantl@apple.com>
Fri, 5 Jan 2018 01:13:52 +0000 (01:13 +0000)
commit2e7d8baccb309c7084ad450b11726b3400dd2786
tree7572f7231e9df03faae8b9c8d646109be67258d1
parent38b23a4558d77316759f2d78e2e1c404f1d36a94
Debug Info: Support DW_AT_calling_convention on composite types.
This implements the DWARF 5 feature described at
http://www.dwarfstd.org/ShowIssue.php?issue=141215.1

This allows a consumer to understand whether a composite data type is
trivially copyable and thus should be passed by value instead of by
reference. The canonical example is being able to distinguish the
following two types:

  // S is not trivially copyable because of the explicit destructor.
  struct S {
     ~S() {}
  };

  // T is a POD type.
  struct T {
    ~T() = default;
  };

<rdar://problem/36034993>
Differential Revision: https://reviews.llvm.org/D41039

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@321845 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDebugInfo.cpp
test/CodeGenCXX/debug-info-composite-cc.cpp [new file with mode: 0644]