VMCore: add assert for miscompile

See PR11652. Trying to add this assert to
setSubclassData() itself actually prevented
the miscompile entirely, so it has to be here.

This makes the source of the bug more obvious
than the other asserts triggering later on did.

llvm-svn: 147390
This commit is contained in:
Dylan Noblesmith 2011-12-31 13:58:58 +00:00
parent 1154e75c7c
commit 1c65a21ec4
1 changed files with 5 additions and 0 deletions

View File

@ -707,7 +707,12 @@ PointerType *PointerType::get(Type *EltTy, unsigned AddressSpace) {
PointerType::PointerType(Type *E, unsigned AddrSpace)
: SequentialType(PointerTyID, E) {
#ifndef NDEBUG
const unsigned oldNCT = NumContainedTys;
#endif
setSubclassData(AddrSpace);
// Check for miscompile. PR11652.
assert(oldNCT == NumContainedTys && "bitfield written out of bounds?");
}
PointerType *Type::getPointerTo(unsigned addrs) {