[DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types
Differential Revision: https://reviews.llvm.org/D29670 llvm-svn: 297320
This commit is contained in:
@@ -1473,6 +1473,13 @@ void ModuleBitcodeWriter::writeDIDerivedType(const DIDerivedType *N,
|
||||
Record.push_back(N->getFlags());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getExtraData()));
|
||||
|
||||
// DWARF address space is encoded as N->getDWARFAddressSpace() + 1. 0 means
|
||||
// that there is no DWARF address space associated with DIDerivedType.
|
||||
if (const auto &DWARFAddressSpace = N->getDWARFAddressSpace())
|
||||
Record.push_back(*DWARFAddressSpace + 1);
|
||||
else
|
||||
Record.push_back(0);
|
||||
|
||||
Stream.EmitRecord(bitc::METADATA_DERIVED_TYPE, Record, Abbrev);
|
||||
Record.clear();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user