llvm.org GIT mirror llvm / e94103a
Unbreak the sanitizer buildbots after r209226 due to SROA issue described in http://reviews.llvm.org/D3714 Undecided whether this should include a test case - SROA produces bad dbg.value metadata describing a value for a reference that is actually the value of the thing the reference refers to. For now, loosening the assert lets this not assert, but it's still bogus/wrong output... If someone wants to tell me to add a test, I'm willing/able, just undecided. Hopefully we'll get SROA fixed soon & we can tighten up this assertion again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209240 91177308-0d34-0410-b5e6-96231b3b80d8 David Blaikie 6 years ago
1 changed file(s) with 7 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
750750 if (DTy.isDerivedType()) {
751751 dwarf::Tag T = (dwarf::Tag)Ty.getTag();
752752 // Encode pointer constants as unsigned bytes. This is used at least for
753 // null pointer constant emission. Maybe DW_TAG_reference_type should be
754 // accepted here too, if there are ways to produce compile-time constant
755 // references.
753 // null pointer constant emission.
754 // FIXME: reference and rvalue_reference /probably/ shouldn't be allowed
755 // here, but accept them for now due to a bug in SROA producing bogus
756 // dbg.values.
756757 if (T == dwarf::DW_TAG_pointer_type ||
757 T == dwarf::DW_TAG_ptr_to_member_type)
758 T == dwarf::DW_TAG_ptr_to_member_type ||
759 T == dwarf::DW_TAG_reference_type ||
760 T == dwarf::DW_TAG_rvalue_reference_type)
758761 return true;
759762 assert(T == dwarf::DW_TAG_typedef || T == dwarf::DW_TAG_const_type ||
760763 T == dwarf::DW_TAG_volatile_type ||