OSDN Git Service

[DWARFv5] Tolerate files not all having an MD5 checksum.
authorPaul Robinson <paul.robinson@sony.com>
Thu, 14 Jun 2018 13:38:20 +0000 (13:38 +0000)
committerPaul Robinson <paul.robinson@sony.com>
Thu, 14 Jun 2018 13:38:20 +0000 (13:38 +0000)
commitd796da8a3578a8984bd2d0ca36a7264656508765
treef277be386b7be4144d0500547ee2dbf792b5ffc6
parent9a849b0187f7c6329b0b823c2751aa60c191aec2
[DWARFv5] Tolerate files not all having an MD5 checksum.

In some cases, for example when compiling a preprocessed file, the
front-end is not able to provide an MD5 checksum for all files. When
that happens, omit the MD5 checksums from the final DWARF, because
DWARF doesn't have a way to indicate that some but not all files have
a checksum.

When assembling a .s file, and some but not all .file directives
provide an MD5 checksum, issue a warning and don't emit MD5 into the
DWARF.

Fixes PR37623.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334710 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCContext.h
include/llvm/MC/MCDwarf.h
lib/MC/MCAsmStreamer.cpp
lib/MC/MCDwarf.cpp
lib/MC/MCParser/AsmParser.cpp
test/CodeGen/Generic/dwarf-md5.ll
test/CodeGen/Generic/dwarf-source.ll
test/MC/ELF/debug-md5-err.s
test/MC/ELF/debug-mixed-md5.ll [new file with mode: 0644]