Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/IR/Verifier.cpp
Show First 20 Lines • Show All 1,064 Lines • ▼ Show 20 Lines | if (N.isVector()) { | ||||
AssertDI(Elements.size() == 1 && | AssertDI(Elements.size() == 1 && | ||||
Elements[0]->getTag() == dwarf::DW_TAG_subrange_type, | Elements[0]->getTag() == dwarf::DW_TAG_subrange_type, | ||||
"invalid vector, expected one element of type subrange", &N); | "invalid vector, expected one element of type subrange", &N); | ||||
} | } | ||||
if (auto *Params = N.getRawTemplateParams()) | if (auto *Params = N.getRawTemplateParams()) | ||||
visitTemplateParams(N, *Params); | visitTemplateParams(N, *Params); | ||||
if (N.getTag() == dwarf::DW_TAG_class_type || | |||||
N.getTag() == dwarf::DW_TAG_union_type) { | |||||
AssertDI(N.getFile() && !N.getFile()->getFilename().empty(), | |||||
"class/union requires a filename", &N, N.getFile()); | |||||
} | |||||
if (auto *D = N.getRawDiscriminator()) { | if (auto *D = N.getRawDiscriminator()) { | ||||
AssertDI(isa<DIDerivedType>(D) && N.getTag() == dwarf::DW_TAG_variant_part, | AssertDI(isa<DIDerivedType>(D) && N.getTag() == dwarf::DW_TAG_variant_part, | ||||
"discriminator can only appear on variant part"); | "discriminator can only appear on variant part"); | ||||
} | } | ||||
if (N.getRawDataLocation()) { | if (N.getRawDataLocation()) { | ||||
AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | AssertDI(N.getTag() == dwarf::DW_TAG_array_type, | ||||
"dataLocation can only appear in array type"); | "dataLocation can only appear in array type"); | ||||
▲ Show 20 Lines • Show All 4,982 Lines • Show Last 20 Lines |