diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-04-13 21:57:08 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-04-13 21:57:08 +0000 |
commit | aa165cf75966e8b208943a5e912a8893206d8935 (patch) | |
tree | b267062fb06f5efaa84827f858d4fbdcd82639d8 /clang/lib/Serialization/ASTReader.cpp | |
parent | 707e02c273f6a0286d023e4ecdac4a4ce0b84038 (diff) | |
download | bcm5719-llvm-aa165cf75966e8b208943a5e912a8893206d8935.tar.gz bcm5719-llvm-aa165cf75966e8b208943a5e912a8893206d8935.zip |
[modules] Remove CXX_CTOR_INITIALIZERS_OFFSETS table. Instead of storing an ID
of a table entry in the corresponding decl, store an offset from the current
record to the relevant CXX_CTOR_INITIALIZERS record. This results in fewer
indirections and a minor .pcm file size reduction.
llvm-svn: 266254
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index df1418649d6..947df5e4448 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3064,17 +3064,6 @@ ASTReader::ReadASTBlock(ModuleFile &F, unsigned ClientLoadCapabilities) { break; } - case CXX_CTOR_INITIALIZERS_OFFSETS: { - if (F.LocalNumCXXCtorInitializers != 0) { - Error("duplicate CXX_CTOR_INITIALIZERS_OFFSETS record in AST file"); - return Failure; - } - - F.LocalNumCXXCtorInitializers = Record[0]; - F.CXXCtorInitializersOffsets = (const uint32_t *)Blob.data(); - break; - } - case DIAG_PRAGMA_MAPPINGS: if (F.PragmaDiagMappings.empty()) F.PragmaDiagMappings.swap(Record); @@ -6303,18 +6292,6 @@ void ASTReader::CompleteRedeclChain(const Decl *D) { } } -uint64_t ASTReader::ReadCXXCtorInitializersRef(ModuleFile &M, - const RecordData &Record, - unsigned &Idx) { - if (Idx >= Record.size() || Record[Idx] > M.LocalNumCXXCtorInitializers) { - Error("malformed AST file: missing C++ ctor initializers"); - return 0; - } - - unsigned LocalID = Record[Idx++]; - return getGlobalBitOffset(M, M.CXXCtorInitializersOffsets[LocalID - 1]); -} - CXXCtorInitializer ** ASTReader::GetExternalCXXCtorInitializers(uint64_t Offset) { RecordLocation Loc = getLocalBitOffset(Offset); |