OSDN Git Service

DebugInfo: support for DWARFv5 DW_AT_alignment attribute
authorVictor Leschuk <vleschuk@accesssoftek.com>
Wed, 26 Oct 2016 08:55:27 +0000 (08:55 +0000)
committerVictor Leschuk <vleschuk@accesssoftek.com>
Wed, 26 Oct 2016 08:55:27 +0000 (08:55 +0000)
commitde2f92b5ef4236ee90a77b0a19d4dfbca9dee1a1
treebb8f72ad1508d69e6cc82ac74d5996649f84736a
parent6bee13e122723fd57e99c6a957580c9caeef0650
DebugInfo: support for DWARFv5 DW_AT_alignment attribute

* Assume that clang passes non-zero alignment value to DIBuilder
only in case when it was forced by C++11 'alignas', C11 '_Alignas'
or compiler attribute '__attribute__((aligned (N)))'.

* Emit DW_AT_alignment if alignment is specified for type/object.

Differential Revision: https://reviews.llvm.org/D24425

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285181 91177308-0d34-0410-b5e6-96231b3b80d8
docs/SourceLevelDebugging.rst
include/llvm/IR/DebugInfoMetadata.h
include/llvm/Support/Dwarf.h
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
lib/Support/Dwarf.cpp
test/DebugInfo/X86/align_c11.ll [new file with mode: 0644]
test/DebugInfo/X86/align_cpp11.ll [new file with mode: 0644]
test/DebugInfo/X86/align_objc.ll [new file with mode: 0644]
test/DebugInfo/X86/dwarf-public-names.ll