forked from OSchip/llvm-project
[Verifier] Allow DW_TAG_class_type/DW_TAG_union_type to have no filename
`clang/lib/CodeGen/CGOpenMPRuntime.cpp` synthesized union (`distinct !DICompositeType(tag: DW_TAG_union_type, name: "kmp_cmplrdata_t", size: 64, elements: <0x62b690>)`) does not have meaningful filename/line number. D94735 dropped the previously arbitrary and untested filename/line from the union and caused a verifier error here. This fixes `check-libarcher` failures. Differential Revision: https://reviews.llvm.org/D96212
This commit is contained in:
parent
0c7e044a7f
commit
ad60802a71
|
@ -1070,12 +1070,6 @@ void Verifier::visitDICompositeType(const DICompositeType &N) {
|
|||
if (auto *Params = N.getRawTemplateParams())
|
||||
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()) {
|
||||
AssertDI(isa<DIDerivedType>(D) && N.getTag() == dwarf::DW_TAG_variant_part,
|
||||
"discriminator can only appear on variant part");
|
||||
|
|
Loading…
Reference in New Issue