From 90f255356e4abc03287d35d323a1af0127dfcfd2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 3 Feb 2009 01:28:04 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63588 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/SourceManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index a63ef79037..7dbf0ccf61 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -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(Data & ~7UL); + return reinterpret_cast(Data & ~3UL); } /// getCharacteristic - Return whether this is a system header or not. -- 2.40.0