]> granicus.if.org Git - clang/commitdiff
Content Cache only needs to be 4-byte aligned. Since it is stored in
authorChris Lattner <sabre@nondot.org>
Tue, 3 Feb 2009 01:28:04 +0000 (01:28 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 3 Feb 2009 01:28:04 +0000 (01:28 +0000)
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

index a63ef7903728c5e1c1f6091ffb25e222cc4c1274..7dbf0ccf61a0e2c8489c0ba46e6121f8baa4f6bc 100644 (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.