diff --git a/clang/include/clang/Frontend/PCHReader.h b/clang/include/clang/Frontend/PCHReader.h index 4ef7bf19aa03d8915081b26f8f4821601dc870d5..f2ce6aec31e7235544d1a4ebd48ae026148e9989 100644 --- a/clang/include/clang/Frontend/PCHReader.h +++ b/clang/include/clang/Frontend/PCHReader.h @@ -543,7 +543,7 @@ private: llvm::BitstreamCursor &SLocCursorForID(unsigned ID); bool ParseLanguageOptions(const llvm::SmallVectorImpl &Record); - typedef std::pair RecordLocation; + typedef std::pair RecordLocation; QualType ReadTypeRecord(unsigned Index); RecordLocation TypeCursorForIndex(unsigned Index); diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp index 532ba444a2dafb9ea648f3ebbd2527dfbd7d20eb..008f58eaea7a0575801ed24d709459c972c253c6 100644 --- a/clang/lib/Frontend/PCHReader.cpp +++ b/clang/lib/Frontend/PCHReader.cpp @@ -2160,7 +2160,7 @@ PCHReader::RecordLocation PCHReader::TypeCursorForIndex(unsigned Index) { Index -= F->LocalNumTypes; } assert(F && F->LocalNumTypes > Index && "Broken chain"); - return RecordLocation(F->DeclsCursor, F->TypeOffsets[Index]); + return RecordLocation(&F->DeclsCursor, F->TypeOffsets[Index]); } /// \brief Read and return the type with the given index.. @@ -2171,7 +2171,7 @@ PCHReader::RecordLocation PCHReader::TypeCursorForIndex(unsigned Index) { /// IDs. QualType PCHReader::ReadTypeRecord(unsigned Index) { RecordLocation Loc = TypeCursorForIndex(Index); - llvm::BitstreamCursor &DeclsCursor = Loc.first; + llvm::BitstreamCursor &DeclsCursor = *Loc.first; // Keep track of where we are in the stream, then jump back there // after reading this type. diff --git a/clang/lib/Frontend/PCHReaderDecl.cpp b/clang/lib/Frontend/PCHReaderDecl.cpp index a4c0d8df9a3170be2b373304150e7b852812c7e6..8ea75b727066c08f3cb61852ad5a4c5372f2bd93 100644 --- a/clang/lib/Frontend/PCHReaderDecl.cpp +++ b/clang/lib/Frontend/PCHReaderDecl.cpp @@ -1264,13 +1264,13 @@ PCHReader::RecordLocation PCHReader::DeclCursorForIndex(unsigned Index) { Index -= F->LocalNumDecls; } assert(F && F->LocalNumDecls > Index && "Broken chain"); - return RecordLocation(F->DeclsCursor, F->DeclOffsets[Index]); + return RecordLocation(&F->DeclsCursor, F->DeclOffsets[Index]); } /// \brief Read the declaration at the given offset from the PCH file. Decl *PCHReader::ReadDeclRecord(unsigned Index) { RecordLocation Loc = DeclCursorForIndex(Index); - llvm::BitstreamCursor &DeclsCursor = Loc.first; + llvm::BitstreamCursor &DeclsCursor = *Loc.first; // Keep track of where we are in the stream, then jump back there // after reading this declaration. SavedStreamPosition SavedPosition(DeclsCursor);