diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Serialization/Module.h | 2 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 12 |
2 files changed, 3 insertions, 11 deletions
diff --git a/clang/include/clang/Serialization/Module.h b/clang/include/clang/Serialization/Module.h index 48715e30156..5571d91a541 100644 --- a/clang/include/clang/Serialization/Module.h +++ b/clang/include/clang/Serialization/Module.h @@ -206,7 +206,7 @@ public: llvm::BitstreamCursor InputFilesCursor; /// \brief Offsets for all of the input file entries in the AST file. - std::vector<uint64_t> InputFileOffsets; + const uint64_t *InputFileOffsets; /// \brief The input files that have been loaded from this AST file. std::vector<InputFile> InputFilesLoaded; diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index af6f92a5115..d75b5eb73d5 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -2304,21 +2304,13 @@ ASTReader::ReadControlBlock(ModuleFile &F, return Result; break; - case INPUT_FILE_OFFSETS: { + case INPUT_FILE_OFFSETS: NumInputs = Record[0]; NumUserInputs = Record[1]; - F.InputFileOffsets.clear(); - F.InputFileOffsets.reserve(NumInputs); - using namespace llvm::support; - const char *Buf = Blob.data(); - for (unsigned int I = 0; I < NumInputs; ++I) - F.InputFileOffsets.push_back( - endian::readNext<uint64_t, native, unaligned>(Buf)); - + F.InputFileOffsets = (const uint64_t *)Blob.data(); F.InputFilesLoaded.resize(NumInputs); break; } - } } } |