Add DWARF debug info support for C++11 inline namespaces.

This implements the DWARF 5 DW_AT_export_symbols feature:
http://dwarfstd.org/ShowIssue.php?issue=141212.1

<rdar://problem/18616046>

llvm-svn: 285959
This commit is contained in:
Adrian Prantl
2016-11-03 19:42:02 +00:00
parent 8a56917492
commit dbfda63695
16 changed files with 135 additions and 43 deletions

View File

@@ -2628,11 +2628,13 @@ std::error_code BitcodeReader::parseMetadata(bool ModuleLevel) {
if (Record.size() != 5)
return error("Invalid record");
IsDistinct = Record[0];
IsDistinct = Record[0] & 1;
bool ExportSymbols = Record[0] & 2;
MetadataList.assignValue(
GET_OR_DISTINCT(DINamespace, (Context, getMDOrNull(Record[1]),
getMDOrNull(Record[2]),
getMDString(Record[3]), Record[4])),
GET_OR_DISTINCT(DINamespace,
(Context, getMDOrNull(Record[1]),
getMDOrNull(Record[2]), getMDString(Record[3]),
Record[4], ExportSymbols)),
NextMetadataNo++);
break;
}