IR: Require DICompositeType for ODR uniquing type map
Tighten up the API for debug info ODR type uniquing in LLVMContext. The only reason to allow other DIType subclasses is to make the unit tests prettier :/. llvm-svn: 266737
This commit is contained in:
@@ -2192,12 +2192,12 @@ std::error_code BitcodeReader::parseMetadata(bool ModuleLevel) {
|
||||
// mapping.
|
||||
unsigned Flags = Record[10];
|
||||
auto *Identifier = getMDString(Record[15]);
|
||||
DIType **MappedT = nullptr;
|
||||
DICompositeType **MappedT = nullptr;
|
||||
if (!(Flags & DINode::FlagFwdDecl) && Identifier)
|
||||
MappedT = Context.getOrInsertODRUniquedType(*Identifier);
|
||||
|
||||
// Use the mapped type node, or create a new one if necessary.
|
||||
DIType *CT = MappedT ? *MappedT : nullptr;
|
||||
DICompositeType *CT = MappedT ? *MappedT : nullptr;
|
||||
if (!CT) {
|
||||
CT = GET_OR_DISTINCT(
|
||||
DICompositeType, Record[0],
|
||||
|
||||
Reference in New Issue
Block a user