]> granicus.if.org Git - clang/commitdiff
[PTH] Fix data length used for stat cache entries
authorReid Kleckner <rnk@google.com>
Mon, 2 Nov 2015 20:47:31 +0000 (20:47 +0000)
committerReid Kleckner <rnk@google.com>
Mon, 2 Nov 2015 20:47:31 +0000 (20:47 +0000)
This came up in a boost build, which apparently uses PTH. This was
broken in r187619 when we migrated it to uses llvm::fs instead of raw
stat calls.

Constructing a test case with a hash table collision in-tree is tough.
Instead, I have a pending change to OnDiskChainedHashTable that asserts
that the reported length of the data agrees with the data actually
written. All of the existing in-tree tests find the bug with this
assert.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251828 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/CacheTokens.cpp

index 662778b7a650e73f6d29590722864c0dc8586593..87f3d17258140a91a6fe794072220a95c3500544 100644 (file)
@@ -106,7 +106,7 @@ public:
   }
 
   unsigned getRepresentationLength() const {
-    return Kind == IsNoExist ? 0 : 4 + 4 + 2 + 8 + 8;
+    return Kind == IsNoExist ? 0 : 4 * 8;
   }
 };