diff options
Diffstat (limited to 'lib/Frontend/PCHReader.cpp')
-rw-r--r-- | lib/Frontend/PCHReader.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp index f1cb4d3cdc..e694a140d1 100644 --- a/lib/Frontend/PCHReader.cpp +++ b/lib/Frontend/PCHReader.cpp @@ -2089,9 +2089,10 @@ IdentifierInfo *PCHReader::DecodeIdentifierInfo(unsigned ID) { } if (IdentifierData[ID - 1] & 0x01) { - uint64_t Offset = IdentifierData[ID - 1]; + uint64_t Offset = IdentifierData[ID - 1] >> 1; IdentifierData[ID - 1] = reinterpret_cast<uint64_t>( - &Context.Idents.get(IdentifierTable + Offset)); + &Context.Idents.get(IdentifierTable + Offset)); + // FIXME: also read the contents of the IdentifierInfo. } return reinterpret_cast<IdentifierInfo *>(IdentifierData[ID - 1]); |