Content Cache only needs to be 4-byte aligned. Since it is stored in

an std::set, we can't make a strong guarantee about what its alignment
will be.  Since I don't need the 3rd bit anyway yet, just change the
assertion.

llvm-svn: 63588
This commit is contained in:
Chris Lattner 2009-02-03 01:28:04 +00:00
parent a0ce5f060d
commit a814d96116
1 changed files with 2 additions and 2 deletions

View File

@ -143,7 +143,7 @@ namespace SrcMgr {
FileInfo X;
X.IncludeLoc = IL.getRawEncoding();
X.Data = (uintptr_t)Con;
assert((X.Data & 7) == 0 &&"ContentCache pointer insufficiently aligned");
assert((X.Data & 3) == 0 &&"ContentCache pointer insufficiently aligned");
assert((unsigned)FileCharacter < 4 && "invalid file character");
X.Data |= (unsigned)FileCharacter;
return X;
@ -153,7 +153,7 @@ namespace SrcMgr {
return SourceLocation::getFromRawEncoding(IncludeLoc);
}
const ContentCache* getContentCache() const {
return reinterpret_cast<const ContentCache*>(Data & ~7UL);
return reinterpret_cast<const ContentCache*>(Data & ~3UL);
}
/// getCharacteristic - Return whether this is a system header or not.