• Home
  • Raw
  • Download

Lines Matching full:record

570   // Detailed record is important since it is used for the module cache hash.  in checkPreprocessorOptions()
996 RecordData Record; in ReadLexicalDeclContextStorage() local
999 unsigned RecCode = Cursor.readRecord(Code, Record, &Blob); in ReadLexicalDeclContextStorage()
1006 "expected a TU_UPDATE_LEXICAL record for TU"); in ReadLexicalDeclContextStorage()
1008 // lexical updates for the same record. It's important that we select only one in ReadLexicalDeclContextStorage()
1032 RecordData Record; in ReadVisibleDeclContextStorage() local
1035 unsigned RecCode = Cursor.readRecord(Code, Record, &Blob); in ReadVisibleDeclContextStorage()
1072 const RecordData &Record) { in ParseLineTable() argument
1078 for (unsigned I = 0; Record[Idx]; ++I) { in ParseLineTable()
1080 auto Filename = ReadPath(F, Record, Idx); in ParseLineTable()
1087 while (Idx < Record.size()) { in ParseLineTable()
1088 int FID = Record[Idx++]; in ParseLineTable()
1094 unsigned NumEntries = Record[Idx++]; in ParseLineTable()
1099 unsigned FileOffset = Record[Idx++]; in ParseLineTable()
1100 unsigned LineNo = Record[Idx++]; in ParseLineTable()
1101 int FilenameID = FileIDs[Record[Idx++]]; in ParseLineTable()
1103 = (SrcMgr::CharacteristicKind)Record[Idx++]; in ParseLineTable()
1104 unsigned IncludeOffset = Record[Idx++]; in ParseLineTable()
1128 Error("malformed block record in AST file"); in ReadSourceManagerBlock()
1134 Error("malformed source manager block record in AST file"); in ReadSourceManagerBlock()
1138 RecordData Record; in ReadSourceManagerBlock() local
1145 Error("malformed block record in AST file"); in ReadSourceManagerBlock()
1149 case llvm::BitstreamEntry::Record: in ReadSourceManagerBlock()
1154 // Read a record. in ReadSourceManagerBlock()
1155 Record.clear(); in ReadSourceManagerBlock()
1157 switch (SLocEntryCursor.readRecord(E.ID, Record, &Blob)) { in ReadSourceManagerBlock()
1213 // entry record. in ReadSLocEntry()
1217 RecordData Record; in ReadSLocEntry() local
1220 unsigned RecCode = SLocEntryCursor.readRecord(Code, Record, &Blob); in ReadSLocEntry()
1224 if (llvm::zlib::uncompress(Blob, Uncompressed, Record[0]) != in ReadSLocEntry()
1233 Error("AST record has invalid code"); in ReadSLocEntry()
1245 if (Entry.Kind != llvm::BitstreamEntry::Record) { in ReadSLocEntry()
1250 RecordData Record; in ReadSLocEntry() local
1252 switch (SLocEntryCursor.readRecord(Entry.ID, Record, &Blob)) { in ReadSLocEntry()
1260 unsigned InputID = Record[4]; in ReadSLocEntry()
1271 SourceLocation IncludeLoc = ReadSourceLocation(*F, Record[1]); in ReadSLocEntry()
1277 FileCharacter = (SrcMgr::CharacteristicKind)Record[2]; in ReadSLocEntry()
1279 ID, BaseOffset + Record[0]); in ReadSLocEntry()
1282 FileInfo.NumCreatedFIDs = Record[5]; in ReadSLocEntry()
1283 if (Record[3]) in ReadSLocEntry()
1286 const DeclID *FirstDecl = F->FileSortedDecls + Record[6]; in ReadSLocEntry()
1287 unsigned NumFileDecls = Record[7]; in ReadSLocEntry()
1311 unsigned Offset = Record[0]; in ReadSLocEntry()
1313 FileCharacter = (SrcMgr::CharacteristicKind)Record[2]; in ReadSLocEntry()
1314 SourceLocation IncludeLoc = ReadSourceLocation(*F, Record[1]); in ReadSLocEntry()
1329 SourceLocation SpellingLoc = ReadSourceLocation(*F, Record[1]); in ReadSLocEntry()
1331 ReadSourceLocation(*F, Record[2]), in ReadSLocEntry()
1332 ReadSourceLocation(*F, Record[3]), in ReadSLocEntry()
1333 Record[4], in ReadSLocEntry()
1335 BaseOffset + Record[0]); in ReadSLocEntry()
1397 Token ASTReader::ReadToken(ModuleFile &F, const RecordDataImpl &Record, in ReadToken() argument
1401 Tok.setLocation(ReadSourceLocation(F, Record, Idx)); in ReadToken()
1402 Tok.setLength(Record[Idx++]); in ReadToken()
1403 if (IdentifierInfo *II = getLocalIdentifier(F, Record[Idx++])) in ReadToken()
1405 Tok.setKind((tok::TokenKind)Record[Idx++]); in ReadToken()
1406 Tok.setFlag((Token::TokenFlags)Record[Idx++]); in ReadToken()
1418 RecordData Record; in ReadMacroRecord() local
1423 // Advance to the next record, but if we get to the end of the block, don't in ReadMacroRecord()
1432 Error("malformed block record in AST file"); in ReadMacroRecord()
1436 case llvm::BitstreamEntry::Record: in ReadMacroRecord()
1441 // Read a record. in ReadMacroRecord()
1442 Record.clear(); in ReadMacroRecord()
1444 (PreprocessorRecordTypes)Stream.readRecord(Entry.ID, Record); in ReadMacroRecord()
1459 SubmoduleID SubModID = getGlobalSubmoduleID(F, Record[NextIndex++]); in ReadMacroRecord()
1460 SourceLocation Loc = ReadSourceLocation(F, Record, NextIndex); in ReadMacroRecord()
1462 MI->setDefinitionEndLoc(ReadSourceLocation(F, Record, NextIndex)); in ReadMacroRecord()
1463 MI->setIsUsed(Record[NextIndex++]); in ReadMacroRecord()
1464 MI->setUsedForHeaderGuard(Record[NextIndex++]); in ReadMacroRecord()
1468 bool isC99VarArgs = Record[NextIndex++]; in ReadMacroRecord()
1469 bool isGNUVarArgs = Record[NextIndex++]; in ReadMacroRecord()
1470 bool hasCommaPasting = Record[NextIndex++]; in ReadMacroRecord()
1472 unsigned NumArgs = Record[NextIndex++]; in ReadMacroRecord()
1474 MacroArgs.push_back(getLocalIdentifier(F, Record[NextIndex++])); in ReadMacroRecord()
1488 if (NextIndex + 1 == Record.size() && PP.getPreprocessingRecord() && in ReadMacroRecord()
1489 Record[NextIndex]) { in ReadMacroRecord()
1492 GlobalID = getGlobalPreprocessedEntityID(F, Record[NextIndex]); in ReadMacroRecord()
1512 Token Tok = ReadToken(F, Record, Idx); in ReadMacroRecord()
1664 RecordData Record; in ReadDefinedMacros() local
1671 Error("malformed block record in AST file"); in ReadDefinedMacros()
1676 case llvm::BitstreamEntry::Record: in ReadDefinedMacros()
1677 Record.clear(); in ReadDefinedMacros()
1678 switch (Cursor.readRecord(E.ID, Record)) { in ReadDefinedMacros()
1684 IdentifierInfo *II = getLocalIdentifier(*I, Record[0]); in ReadDefinedMacros()
1807 // macros, followed by a PP_MACRO_DIRECTIVE_HISTORY record with the complete in resolvePendingMacro()
1809 RecordData Record; in resolvePendingMacro() local
1813 if (Entry.Kind != llvm::BitstreamEntry::Record) { in resolvePendingMacro()
1814 Error("malformed block record in AST file"); in resolvePendingMacro()
1818 Record.clear(); in resolvePendingMacro()
1819 switch ((PreprocessorRecordTypes)Cursor.readRecord(Entry.ID, Record)) { in resolvePendingMacro()
1826 Info.SubModID = getGlobalSubmoduleID(M, Record[0]); in resolvePendingMacro()
1827 Info.MI = getMacro(getGlobalMacroID(M, Record[1])); in resolvePendingMacro()
1828 for (int I = 2, N = Record.size(); I != N; ++I) in resolvePendingMacro()
1829 Info.Overrides.push_back(getGlobalSubmoduleID(M, Record[I])); in resolvePendingMacro()
1834 Error("malformed block record in AST file"); in resolvePendingMacro()
1838 // We found the macro directive history; that's the last record in resolvePendingMacro()
1869 unsigned Idx = 0, N = Record.size(); in resolvePendingMacro()
1872 SourceLocation Loc = ReadSourceLocation(M, Record, Idx); in resolvePendingMacro()
1873 MacroDirective::Kind K = (MacroDirective::Kind)Record[Idx++]; in resolvePendingMacro()
1876 MacroInfo *MI = getMacro(getGlobalMacroID(M, Record[Idx++])); in resolvePendingMacro()
1885 bool isPublic = Record[Idx++]; in resolvePendingMacro()
1909 RecordData Record; in readInputFileInfo() local
1912 unsigned Result = Cursor.readRecord(Code, Record, &Blob); in readInputFileInfo()
1914 "invalid record type for input file"); in readInputFileInfo()
1917 assert(Record[0] == ID && "Bogus stored ID or offset"); in readInputFileInfo()
1919 R.StoredSize = static_cast<off_t>(Record[1]); in readInputFileInfo()
1920 R.StoredTime = static_cast<time_t>(Record[2]); in readInputFileInfo()
1921 R.Overridden = static_cast<bool>(Record[3]); in readInputFileInfo()
1922 R.Transient = static_cast<bool>(Record[4]); in readInputFileInfo()
1979 // Record that we didn't find the file. in getInputFile()
2092 RecordData Record; in ReadOptionsBlock() local
2105 case llvm::BitstreamEntry::Record: in ReadOptionsBlock()
2110 // Read and process a record. in ReadOptionsBlock()
2111 Record.clear(); in ReadOptionsBlock()
2112 switch ((OptionsRecordTypes)Stream.readRecord(Entry.ID, Record)) { in ReadOptionsBlock()
2115 if (ParseLanguageOptions(Record, Complain, Listener, in ReadOptionsBlock()
2123 if (ParseTargetOptions(Record, Complain, Listener, in ReadOptionsBlock()
2132 ParseDiagnosticOptions(Record, Complain, Listener)) in ReadOptionsBlock()
2140 ParseFileSystemOptions(Record, Complain, Listener)) in ReadOptionsBlock()
2148 ParseHeaderSearchOptions(Record, Complain, Listener)) in ReadOptionsBlock()
2156 ParsePreprocessorOptions(Record, Complain, Listener, in ReadOptionsBlock()
2173 Error("malformed block record in AST file"); in ReadControlBlock()
2178 RecordData Record; in ReadControlBlock() local
2186 Error("malformed block record in AST file"); in ReadControlBlock()
2241 Error("malformed block record in AST file"); in ReadControlBlock()
2263 Error("malformed block record in AST file"); in ReadControlBlock()
2277 Error("malformed block record in AST file"); in ReadControlBlock()
2284 Error("malformed block record in AST file"); in ReadControlBlock()
2290 case llvm::BitstreamEntry::Record: in ReadControlBlock()
2295 // Read and process a record. in ReadControlBlock()
2296 Record.clear(); in ReadControlBlock()
2298 switch ((ControlRecordTypes)Stream.readRecord(Entry.ID, Record, &Blob)) { in ReadControlBlock()
2300 if (Record[0] != VERSION_MAJOR && !DisableValidation) { in ReadControlBlock()
2302 Diag(Record[0] < VERSION_MAJOR? diag::err_pch_version_too_old in ReadControlBlock()
2307 bool hasErrors = Record[6]; in ReadControlBlock()
2318 F.RelocatablePCH = Record[4]; in ReadControlBlock()
2323 F.HasTimestamps = Record[5]; in ReadControlBlock()
2336 assert((!F.Signature || F.Signature == Record[0]) && "signature changed"); in ReadControlBlock()
2337 F.Signature = Record[0]; in ReadControlBlock()
2342 unsigned Idx = 0, N = Record.size(); in ReadControlBlock()
2345 ModuleKind ImportedKind = (ModuleKind)Record[Idx++]; in ReadControlBlock()
2350 ReadUntranslatedSourceLocation(Record[Idx++]); in ReadControlBlock()
2351 off_t StoredSize = (off_t)Record[Idx++]; in ReadControlBlock()
2352 time_t StoredModTime = (time_t)Record[Idx++]; in ReadControlBlock()
2353 ASTFileSignature StoredSignature = Record[Idx++]; in ReadControlBlock()
2354 auto ImportedFile = ReadPath(F, Record, Idx); in ReadControlBlock()
2387 F.OriginalSourceFileID = FileID::get(Record[0]); in ReadControlBlock()
2394 F.OriginalSourceFileID = FileID::get(Record[0]); in ReadControlBlock()
2435 ReadModuleMapFileBlock(Record, F, ImportedBy, ClientLoadCapabilities)) in ReadControlBlock()
2440 NumInputs = Record[0]; in ReadControlBlock()
2441 NumUserInputs = Record[1]; in ReadControlBlock()
2455 Error("malformed block record in AST file"); in ReadASTBlock()
2460 RecordData Record; in ReadASTBlock() local
2492 Error("malformed block record in AST file"); in ReadASTBlock()
2504 Error("malformed block record in AST file"); in ReadASTBlock()
2515 Error("malformed preprocessor detail record in AST file"); in ReadASTBlock()
2550 Error("malformed block record in AST file"); in ReadASTBlock()
2557 case llvm::BitstreamEntry::Record: in ReadASTBlock()
2562 // Read and process a record. in ReadASTBlock()
2563 Record.clear(); in ReadASTBlock()
2565 switch ((ASTRecordTypes)Stream.readRecord(Entry.ID, Record, &Blob)) { in ReadASTBlock()
2571 Error("duplicate TYPE_OFFSET record in AST file"); in ReadASTBlock()
2575 F.LocalNumTypes = Record[0]; in ReadASTBlock()
2576 unsigned LocalBaseTypeIndex = Record[1]; in ReadASTBlock()
2595 Error("duplicate DECL_OFFSET record in AST file"); in ReadASTBlock()
2599 F.LocalNumDecls = Record[0]; in ReadASTBlock()
2600 unsigned LocalBaseDeclID = Record[1]; in ReadASTBlock()
2636 serialization::DeclID ID = ReadDeclID(F, Record, Idx); in ReadASTBlock()
2648 if (Record[0]) { in ReadASTBlock()
2650 (const unsigned char *)F.IdentifierTableData + Record[0], in ReadASTBlock()
2661 Error("duplicate IDENTIFIER_OFFSET record in AST file"); in ReadASTBlock()
2665 F.LocalNumIdentifiers = Record[0]; in ReadASTBlock()
2666 unsigned LocalBaseIdentifierID = Record[1]; in ReadASTBlock()
2688 F.PreloadIdentifierOffsets.assign(Record.begin(), Record.end()); in ReadASTBlock()
2692 // FIXME: Skip reading this record if our ASTConsumer doesn't care in ReadASTBlock()
2694 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2695 EagerlyDeserializedDecls.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
2700 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2701 SpecialTypes.push_back(getGlobalTypeID(F, Record[I])); in ReadASTBlock()
2705 if (SpecialTypes.size() != Record.size()) { in ReadASTBlock()
2706 Error("invalid special-types record"); in ReadASTBlock()
2710 for (unsigned I = 0, N = Record.size(); I != N; ++I) { in ReadASTBlock()
2711 serialization::TypeID ID = getGlobalTypeID(F, Record[I]); in ReadASTBlock()
2720 TotalNumStatements += Record[0]; in ReadASTBlock()
2721 TotalNumMacros += Record[1]; in ReadASTBlock()
2722 TotalLexicalDeclContexts += Record[2]; in ReadASTBlock()
2723 TotalVisibleDeclContexts += Record[3]; in ReadASTBlock()
2727 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2728 UnusedFileScopedDecls.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
2732 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2733 DelegatingCtorDecls.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
2737 if (Record.size() % 4 != 0) { in ReadASTBlock()
2738 Error("invalid weak identifiers record"); in ReadASTBlock()
2747 for (unsigned I = 0, N = Record.size(); I < N; /* in loop */) { in ReadASTBlock()
2749 getGlobalIdentifierID(F, Record[I++])); in ReadASTBlock()
2751 getGlobalIdentifierID(F, Record[I++])); in ReadASTBlock()
2753 ReadSourceLocation(F, Record, I).getRawEncoding()); in ReadASTBlock()
2754 WeakUndeclaredIdentifiers.push_back(Record[I++]); in ReadASTBlock()
2760 F.LocalNumSelectors = Record[0]; in ReadASTBlock()
2761 unsigned LocalBaseSelectorID = Record[1]; in ReadASTBlock()
2782 if (Record[0]) in ReadASTBlock()
2785 F.SelectorLookupTableData + Record[0], in ReadASTBlock()
2788 TotalNumMethodPoolEntries += Record[1]; in ReadASTBlock()
2792 if (!Record.empty()) { in ReadASTBlock()
2793 for (unsigned Idx = 0, N = Record.size() - 1; Idx < N; /* in loop */) { in ReadASTBlock()
2795 Record[Idx++])); in ReadASTBlock()
2796 ReferencedSelectorsData.push_back(ReadSourceLocation(F, Record, Idx). in ReadASTBlock()
2803 if (!Record.empty() && Listener) in ReadASTBlock()
2804 Listener->ReadCounter(F, Record[0]); in ReadASTBlock()
2809 F.NumFileSortedDecls = Record[0]; in ReadASTBlock()
2814 F.LocalNumSLocEntries = Record[0]; in ReadASTBlock()
2815 unsigned SLocSpaceSize = Record[1]; in ReadASTBlock()
2924 if (ParseLineTable(F, Record)) in ReadASTBlock()
2936 F.PreloadSLocEntries.swap(Record); in ReadASTBlock()
2941 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2942 ExtVectorDecls.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
2946 if (Record.size() % 3 != 0) { in ReadASTBlock()
2947 Error("Invalid VTABLE_USES record"); in ReadASTBlock()
2956 for (unsigned Idx = 0, N = Record.size(); Idx != N; /* In loop */) { in ReadASTBlock()
2957 VTableUses.push_back(getGlobalDeclID(F, Record[Idx++])); in ReadASTBlock()
2959 ReadSourceLocation(F, Record, Idx).getRawEncoding()); in ReadASTBlock()
2960 VTableUses.push_back(Record[Idx++]); in ReadASTBlock()
2970 if (Record.size() % 2 != 0) { in ReadASTBlock()
2975 for (unsigned I = 0, N = Record.size(); I != N; /* in loop */) { in ReadASTBlock()
2976 PendingInstantiations.push_back(getGlobalDeclID(F, Record[I++])); in ReadASTBlock()
2978 ReadSourceLocation(F, Record, I).getRawEncoding()); in ReadASTBlock()
2983 if (Record.size() != 2) { in ReadASTBlock()
2987 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
2988 SemaDeclRefs.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
2996 unsigned LocalBasePreprocessedEntityID = Record[0]; in ReadASTBlock()
3024 if (Record.size() % 2 != 0) { in ReadASTBlock()
3028 for (unsigned I = 0, N = Record.size(); I != N; I += 2) { in ReadASTBlock()
3029 GlobalDeclID ID = getGlobalDeclID(F, Record[I]); in ReadASTBlock()
3030 DeclUpdateOffsets[ID].push_back(std::make_pair(&F, Record[I + 1])); in ReadASTBlock()
3042 Error("duplicate OBJC_CATEGORIES_MAP record in AST file"); in ReadASTBlock()
3046 F.LocalNumObjCCategoriesInMap = Record[0]; in ReadASTBlock()
3052 F.ObjCCategories.swap(Record); in ReadASTBlock()
3057 F.PragmaDiagMappings.swap(Record); in ReadASTBlock()
3060 Record.begin(), Record.end()); in ReadASTBlock()
3067 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
3068 CUDASpecialDeclRefs.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
3073 F.LocalNumHeaderFileInfos = Record[1]; in ReadASTBlock()
3074 if (Record[0]) { in ReadASTBlock()
3077 (const unsigned char *)F.HeaderFileInfoTableData + Record[0], in ReadASTBlock()
3081 Blob.data() + Record[2])); in ReadASTBlock()
3092 FPPragmaOptions.swap(Record); in ReadASTBlock()
3097 OpenCLExtensions.swap(Record); in ReadASTBlock()
3101 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
3102 TentativeDefinitions.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
3106 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
3107 KnownNamespaces.push_back(getGlobalDeclID(F, Record[I])); in ReadASTBlock()
3116 if (Record.size() % 2 != 0) { in ReadASTBlock()
3117 Error("invalid undefined-but-used record"); in ReadASTBlock()
3120 for (unsigned I = 0, N = Record.size(); I != N; /* in loop */) { in ReadASTBlock()
3121 UndefinedButUsed.push_back(getGlobalDeclID(F, Record[I++])); in ReadASTBlock()
3123 ReadSourceLocation(F, Record, I).getRawEncoding()); in ReadASTBlock()
3127 for (unsigned I = 0, N = Record.size(); I != N;) { in ReadASTBlock()
3128 DelayedDeleteExprs.push_back(getGlobalDeclID(F, Record[I++])); in ReadASTBlock()
3129 const uint64_t Count = Record[I++]; in ReadASTBlock()
3132 DelayedDeleteExprs.push_back(ReadSourceLocation(F, Record, I).getRawEncoding()); in ReadASTBlock()
3133 bool IsArrayForm = Record[I++] == 1; in ReadASTBlock()
3144 for (unsigned I = 0, N = Record.size(); I != N; /**/) { in ReadASTBlock()
3145 unsigned GlobalID = getGlobalSubmoduleID(F, Record[I++]); in ReadASTBlock()
3146 SourceLocation Loc = ReadSourceLocation(F, Record, I); in ReadASTBlock()
3156 Error("duplicate MACRO_OFFSET record in AST file"); in ReadASTBlock()
3160 F.LocalNumMacros = Record[0]; in ReadASTBlock()
3161 unsigned LocalBaseMacroID = Record[1]; in ReadASTBlock()
3179 LateParsedTemplates.append(Record.begin(), Record.end()); in ReadASTBlock()
3184 if (Record.size() != 1) { in ReadASTBlock()
3185 Error("invalid pragma optimize record"); in ReadASTBlock()
3188 OptimizeOffPragmaLocation = ReadSourceLocation(F, Record[0]); in ReadASTBlock()
3192 if (Record.size() != 1) { in ReadASTBlock()
3193 Error("invalid pragma ms_struct record"); in ReadASTBlock()
3196 PragmaMSStructState = Record[0]; in ReadASTBlock()
3200 if (Record.size() != 2) { in ReadASTBlock()
3201 Error("invalid pragma ms_struct record"); in ReadASTBlock()
3204 PragmaMSPointersToMembersState = Record[0]; in ReadASTBlock()
3205 PointersToMembersPragmaLocation = ReadSourceLocation(F, Record[1]); in ReadASTBlock()
3209 for (unsigned I = 0, N = Record.size(); I != N; ++I) in ReadASTBlock()
3211 getGlobalDeclID(F, Record[I])); in ReadASTBlock()
3218 ASTReader::ReadModuleMapFileBlock(RecordData &Record, ModuleFile &F, in ReadModuleMapFileBlock() argument
3222 F.ModuleMapPath = ReadPath(F, Record, Idx); in ReadModuleMapFileBlock()
3274 for (unsigned I = 0, N = Record[Idx++]; I < N; ++I) { in ReadModuleMapFileBlock()
3276 std::string Filename = ReadPath(F, Record, Idx); in ReadModuleMapFileBlock()
3455 case llvm::BitstreamEntry::Record: in SkipCursorToBlock()
3799 case llvm::BitstreamEntry::Record: in ReadASTCore()
3801 Error("invalid record at top-level of AST file"); in ReadASTCore()
3843 // Record that we've loaded this module. in ReadASTCore()
3849 Error("malformed block record in AST file"); in ReadASTCore()
3859 /// Parse a record and blob containing module file extension metadata.
3861 const SmallVectorImpl<uint64_t> &Record, in parseModuleFileExtensionMetadata() argument
3864 if (Record.size() < 4) return true; in parseModuleFileExtensionMetadata()
3866 Metadata.MajorVersion = Record[0]; in parseModuleFileExtensionMetadata()
3867 Metadata.MinorVersion = Record[1]; in parseModuleFileExtensionMetadata()
3869 unsigned BlockNameLen = Record[2]; in parseModuleFileExtensionMetadata()
3870 unsigned UserInfoLen = Record[3]; in parseModuleFileExtensionMetadata()
3883 RecordData Record; in ReadExtensionBlock() local
3899 case llvm::BitstreamEntry::Record: in ReadExtensionBlock()
3903 Record.clear(); in ReadExtensionBlock()
3905 unsigned RecCode = Stream.readRecord(Entry.ID, Record, &Blob); in ReadExtensionBlock()
3909 if (parseModuleFileExtensionMetadata(Record, Blob, Metadata)) in ReadExtensionBlock()
4070 /// \brief Reads and return the signature record from \p StreamFile's control
4082 ASTReader::RecordData Record; in readASTFileSignature() local
4086 Entry.Kind != llvm::BitstreamEntry::Record) in readASTFileSignature()
4089 Record.clear(); in readASTFileSignature()
4091 if (SIGNATURE == Stream.readRecord(Entry.ID, Record, &Blob)) in readASTFileSignature()
4092 return Record[0]; in readASTFileSignature()
4128 RecordData Record; in getOriginalSourceFile() local
4134 if (Entry.Kind != llvm::BitstreamEntry::Record) { in getOriginalSourceFile()
4139 Record.clear(); in getOriginalSourceFile()
4141 if (Stream.readRecord(Entry.ID, Record, &Blob) == ORIGINAL_FILE) in getOriginalSourceFile()
4225 RecordData Record; in readASTFileControlBlock() local
4267 case llvm::BitstreamEntry::Record: in readASTFileControlBlock()
4273 Record.clear(); in readASTFileControlBlock()
4275 unsigned RecCode = Stream.readRecord(Entry.ID, Record, &Blob); in readASTFileControlBlock()
4278 if (Record[0] != VERSION_MAJOR) in readASTFileControlBlock()
4294 auto Path = ReadString(Record, Idx); in readASTFileControlBlock()
4303 unsigned NumInputFiles = Record[0]; in readASTFileControlBlock()
4304 unsigned NumUserFiles = Record[1]; in readASTFileControlBlock()
4318 RecordData Record; in readASTFileControlBlock() local
4321 switch ((InputFileRecordTypes)Cursor.readRecord(Code, Record, &Blob)) { in readASTFileControlBlock()
4323 bool Overridden = static_cast<bool>(Record[3]); in readASTFileControlBlock()
4340 unsigned Idx = 0, N = Record.size(); in readASTFileControlBlock()
4344 std::string Filename = ReadString(Record, Idx); in readASTFileControlBlock()
4378 case llvm::BitstreamEntry::Record: in readASTFileControlBlock()
4382 Record.clear(); in readASTFileControlBlock()
4384 unsigned RecCode = Stream.readRecord(Entry.ID, Record, &Blob); in readASTFileControlBlock()
4388 if (parseModuleFileExtensionMetadata(Record, Blob, Metadata)) in readASTFileControlBlock()
4418 Error("malformed submodule block record in AST file"); in ReadSubmoduleBlock()
4425 RecordData Record; in ReadSubmoduleBlock() local
4432 Error("malformed block record in AST file"); in ReadSubmoduleBlock()
4436 case llvm::BitstreamEntry::Record: in ReadSubmoduleBlock()
4441 // Read a record. in ReadSubmoduleBlock()
4443 Record.clear(); in ReadSubmoduleBlock()
4444 auto Kind = F.Stream.readRecord(Entry.ID, Record, &Blob); in ReadSubmoduleBlock()
4447 Error("submodule metadata record should be at beginning of block"); in ReadSubmoduleBlock()
4463 if (Record.size() < 8) { in ReadSubmoduleBlock()
4470 SubmoduleID GlobalID = getGlobalSubmoduleID(F, Record[Idx++]); in ReadSubmoduleBlock()
4471 SubmoduleID Parent = getGlobalSubmoduleID(F, Record[Idx++]); in ReadSubmoduleBlock()
4472 bool IsFramework = Record[Idx++]; in ReadSubmoduleBlock()
4473 bool IsExplicit = Record[Idx++]; in ReadSubmoduleBlock()
4474 bool IsSystem = Record[Idx++]; in ReadSubmoduleBlock()
4475 bool IsExternC = Record[Idx++]; in ReadSubmoduleBlock()
4476 bool InferSubmodules = Record[Idx++]; in ReadSubmoduleBlock()
4477 bool InferExplicitSubmodules = Record[Idx++]; in ReadSubmoduleBlock()
4478 bool InferExportWildcard = Record[Idx++]; in ReadSubmoduleBlock()
4479 bool ConfigMacrosExhaustive = Record[Idx++]; in ReadSubmoduleBlock()
4603 F.LocalNumSubmodules = Record[0]; in ReadSubmoduleBlock()
4604 unsigned LocalBaseSubmoduleID = Record[1]; in ReadSubmoduleBlock()
4622 for (unsigned Idx = 0; Idx != Record.size(); ++Idx) { in ReadSubmoduleBlock()
4626 Unresolved.ID = Record[Idx]; in ReadSubmoduleBlock()
4635 for (unsigned Idx = 0; Idx + 1 < Record.size(); Idx += 2) { in ReadSubmoduleBlock()
4639 Unresolved.ID = Record[Idx]; in ReadSubmoduleBlock()
4641 Unresolved.IsWildcard = Record[Idx + 1]; in ReadSubmoduleBlock()
4651 CurrentModule->addRequirement(Blob, Record[0], Context.getLangOpts(), in ReadSubmoduleBlock()
4658 Module::LinkLibrary(Blob, Record[0])); in ReadSubmoduleBlock()
4669 Unresolved.ID = Record[0]; in ReadSubmoduleBlock()
4680 /// \brief Parse the record that corresponds to a LangOptions data
4687 bool ASTReader::ParseLanguageOptions(const RecordData &Record, in ParseLanguageOptions() argument
4694 LangOpts.Name = Record[Idx++]; in ParseLanguageOptions()
4696 LangOpts.set##Name(static_cast<LangOptions::Type>(Record[Idx++])); in ParseLanguageOptions()
4699 LangOpts.Sanitize.set(SanitizerKind::ID, Record[Idx++]); in ParseLanguageOptions()
4702 for (unsigned N = Record[Idx++]; N; --N) in ParseLanguageOptions()
4703 LangOpts.ModuleFeatures.push_back(ReadString(Record, Idx)); in ParseLanguageOptions()
4705 ObjCRuntime::Kind runtimeKind = (ObjCRuntime::Kind) Record[Idx++]; in ParseLanguageOptions()
4706 VersionTuple runtimeVersion = ReadVersionTuple(Record, Idx); in ParseLanguageOptions()
4709 LangOpts.CurrentModule = ReadString(Record, Idx); in ParseLanguageOptions()
4712 for (unsigned N = Record[Idx++]; N; --N) { in ParseLanguageOptions()
4714 ReadString(Record, Idx)); in ParseLanguageOptions()
4716 LangOpts.CommentOpts.ParseAllComments = Record[Idx++]; in ParseLanguageOptions()
4719 for (unsigned N = Record[Idx++]; N; --N) { in ParseLanguageOptions()
4720 LangOpts.OMPTargetTriples.push_back(llvm::Triple(ReadString(Record, Idx))); in ParseLanguageOptions()
4723 LangOpts.OMPHostIRFile = ReadString(Record, Idx); in ParseLanguageOptions()
4729 bool ASTReader::ParseTargetOptions(const RecordData &Record, bool Complain, in ParseTargetOptions() argument
4734 TargetOpts.Triple = ReadString(Record, Idx); in ParseTargetOptions()
4735 TargetOpts.CPU = ReadString(Record, Idx); in ParseTargetOptions()
4736 TargetOpts.ABI = ReadString(Record, Idx); in ParseTargetOptions()
4737 for (unsigned N = Record[Idx++]; N; --N) { in ParseTargetOptions()
4738 TargetOpts.FeaturesAsWritten.push_back(ReadString(Record, Idx)); in ParseTargetOptions()
4740 for (unsigned N = Record[Idx++]; N; --N) { in ParseTargetOptions()
4741 TargetOpts.Features.push_back(ReadString(Record, Idx)); in ParseTargetOptions()
4748 bool ASTReader::ParseDiagnosticOptions(const RecordData &Record, bool Complain, in ParseDiagnosticOptions() argument
4752 #define DIAGOPT(Name, Bits, Default) DiagOpts->Name = Record[Idx++]; in ParseDiagnosticOptions()
4754 DiagOpts->set##Name(static_cast<Type>(Record[Idx++])); in ParseDiagnosticOptions()
4757 for (unsigned N = Record[Idx++]; N; --N) in ParseDiagnosticOptions()
4758 DiagOpts->Warnings.push_back(ReadString(Record, Idx)); in ParseDiagnosticOptions()
4759 for (unsigned N = Record[Idx++]; N; --N) in ParseDiagnosticOptions()
4760 DiagOpts->Remarks.push_back(ReadString(Record, Idx)); in ParseDiagnosticOptions()
4765 bool ASTReader::ParseFileSystemOptions(const RecordData &Record, bool Complain, in ParseFileSystemOptions() argument
4769 FSOpts.WorkingDir = ReadString(Record, Idx); in ParseFileSystemOptions()
4773 bool ASTReader::ParseHeaderSearchOptions(const RecordData &Record, in ParseHeaderSearchOptions() argument
4778 HSOpts.Sysroot = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4781 for (unsigned N = Record[Idx++]; N; --N) { in ParseHeaderSearchOptions()
4782 std::string Path = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4784 = static_cast<frontend::IncludeDirGroup>(Record[Idx++]); in ParseHeaderSearchOptions()
4785 bool IsFramework = Record[Idx++]; in ParseHeaderSearchOptions()
4786 bool IgnoreSysRoot = Record[Idx++]; in ParseHeaderSearchOptions()
4792 for (unsigned N = Record[Idx++]; N; --N) { in ParseHeaderSearchOptions()
4793 std::string Prefix = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4794 bool IsSystemHeader = Record[Idx++]; in ParseHeaderSearchOptions()
4798 HSOpts.ResourceDir = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4799 HSOpts.ModuleCachePath = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4800 HSOpts.ModuleUserBuildPath = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4801 HSOpts.DisableModuleHash = Record[Idx++]; in ParseHeaderSearchOptions()
4802 HSOpts.UseBuiltinIncludes = Record[Idx++]; in ParseHeaderSearchOptions()
4803 HSOpts.UseStandardSystemIncludes = Record[Idx++]; in ParseHeaderSearchOptions()
4804 HSOpts.UseStandardCXXIncludes = Record[Idx++]; in ParseHeaderSearchOptions()
4805 HSOpts.UseLibcxx = Record[Idx++]; in ParseHeaderSearchOptions()
4806 std::string SpecificModuleCachePath = ReadString(Record, Idx); in ParseHeaderSearchOptions()
4812 bool ASTReader::ParsePreprocessorOptions(const RecordData &Record, in ParsePreprocessorOptions() argument
4820 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
4821 std::string Macro = ReadString(Record, Idx); in ParsePreprocessorOptions()
4822 bool IsUndef = Record[Idx++]; in ParsePreprocessorOptions()
4827 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
4828 PPOpts.Includes.push_back(ReadString(Record, Idx)); in ParsePreprocessorOptions()
4832 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
4833 PPOpts.MacroIncludes.push_back(ReadString(Record, Idx)); in ParsePreprocessorOptions()
4836 PPOpts.UsePredefines = Record[Idx++]; in ParsePreprocessorOptions()
4837 PPOpts.DetailedRecord = Record[Idx++]; in ParsePreprocessorOptions()
4838 PPOpts.ImplicitPCHInclude = ReadString(Record, Idx); in ParsePreprocessorOptions()
4839 PPOpts.ImplicitPTHInclude = ReadString(Record, Idx); in ParsePreprocessorOptions()
4841 static_cast<ObjCXXARCStandardLibraryKind>(Record[Idx++]); in ParsePreprocessorOptions()
4884 Error("no preprocessing record"); in ReadPreprocessedEntity()
4893 if (Entry.Kind != llvm::BitstreamEntry::Record) in ReadPreprocessedEntity()
4896 // Read the record. in ReadPreprocessedEntity()
4901 RecordData Record; in ReadPreprocessedEntity() local
4904 Entry.ID, Record, &Blob); in ReadPreprocessedEntity()
4907 bool isBuiltin = Record[0]; in ReadPreprocessedEntity()
4911 Name = getLocalIdentifier(M, Record[1]); in ReadPreprocessedEntity()
4914 getGlobalPreprocessedEntityID(M, Record[1]); in ReadPreprocessedEntity()
4931 IdentifierInfo *II = getLocalIdentifier(M, Record[0]); in ReadPreprocessedEntity()
4941 const char *FullFileNameStart = Blob.data() + Record[0]; in ReadPreprocessedEntity()
4942 StringRef FullFileName(FullFileNameStart, Blob.size() - Record[0]); in ReadPreprocessedEntity()
4949 = static_cast<InclusionDirective::InclusionKind>(Record[2]); in ReadPreprocessedEntity()
4952 StringRef(Blob.data(), Record[0]), in ReadPreprocessedEntity()
4953 Record[1], Record[3], in ReadPreprocessedEntity()
5194 /// routine actually reads the record corresponding to the type at the given
5207 // Note that we are loading a type record. in readTypeRecord()
5212 RecordData Record; in readTypeRecord() local
5214 switch ((TypeCode)DeclsCursor.readRecord(Code, Record)) { in readTypeRecord()
5216 if (Record.size() != 2) { in readTypeRecord()
5220 QualType Base = readType(*Loc.F, Record, Idx); in readTypeRecord()
5221 Qualifiers Quals = Qualifiers::fromOpaqueValue(Record[Idx++]); in readTypeRecord()
5226 if (Record.size() != 1) { in readTypeRecord()
5230 QualType ElemType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5235 if (Record.size() != 1) { in readTypeRecord()
5239 QualType PointeeType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5244 if (Record.size() != 1) { in readTypeRecord()
5248 QualType OriginalType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5256 if (Record.size() != 2) { in readTypeRecord()
5260 QualType OriginalTy = readType(*Loc.F, Record, Idx); in readTypeRecord()
5261 QualType AdjustedTy = readType(*Loc.F, Record, Idx); in readTypeRecord()
5266 if (Record.size() != 1) { in readTypeRecord()
5270 QualType PointeeType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5275 if (Record.size() != 2) { in readTypeRecord()
5279 QualType PointeeType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5280 return Context.getLValueReferenceType(PointeeType, Record[1]); in readTypeRecord()
5284 if (Record.size() != 1) { in readTypeRecord()
5288 QualType PointeeType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5293 if (Record.size() != 2) { in readTypeRecord()
5297 QualType PointeeType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5298 QualType ClassType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5306 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5307 ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1]; in readTypeRecord()
5308 unsigned IndexTypeQuals = Record[2]; in readTypeRecord()
5310 llvm::APInt Size = ReadAPInt(Record, Idx); in readTypeRecord()
5316 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5317 ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1]; in readTypeRecord()
5318 unsigned IndexTypeQuals = Record[2]; in readTypeRecord()
5323 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5324 ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1]; in readTypeRecord()
5325 unsigned IndexTypeQuals = Record[2]; in readTypeRecord()
5326 SourceLocation LBLoc = ReadSourceLocation(*Loc.F, Record[3]); in readTypeRecord()
5327 SourceLocation RBLoc = ReadSourceLocation(*Loc.F, Record[4]); in readTypeRecord()
5334 if (Record.size() != 3) { in readTypeRecord()
5339 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5340 unsigned NumElements = Record[1]; in readTypeRecord()
5341 unsigned VecKind = Record[2]; in readTypeRecord()
5347 if (Record.size() != 3) { in readTypeRecord()
5352 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5353 unsigned NumElements = Record[1]; in readTypeRecord()
5358 if (Record.size() != 6) { in readTypeRecord()
5362 QualType ResultType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5363 FunctionType::ExtInfo Info(Record[1], Record[2], Record[3], in readTypeRecord()
5364 (CallingConv)Record[4], Record[5]); in readTypeRecord()
5369 QualType ResultType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5372 EPI.ExtInfo = FunctionType::ExtInfo(/*noreturn*/ Record[1], in readTypeRecord()
5373 /*hasregparm*/ Record[2], in readTypeRecord()
5374 /*regparm*/ Record[3], in readTypeRecord()
5375 static_cast<CallingConv>(Record[4]), in readTypeRecord()
5376 /*produces*/ Record[5]); in readTypeRecord()
5380 EPI.Variadic = Record[Idx++]; in readTypeRecord()
5381 EPI.HasTrailingReturn = Record[Idx++]; in readTypeRecord()
5382 EPI.TypeQuals = Record[Idx++]; in readTypeRecord()
5383 EPI.RefQualifier = static_cast<RefQualifierKind>(Record[Idx++]); in readTypeRecord()
5385 readExceptionSpec(*Loc.F, ExceptionStorage, EPI.ExceptionSpec, Record, Idx); in readTypeRecord()
5387 unsigned NumParams = Record[Idx++]; in readTypeRecord()
5390 ParamTypes.push_back(readType(*Loc.F, Record, Idx)); in readTypeRecord()
5393 if (Idx != Record.size()) { in readTypeRecord()
5397 ::getFromOpaqueValue(Record[Idx++])); in readTypeRecord()
5401 assert(Idx == Record.size()); in readTypeRecord()
5409 ReadDeclAs<UnresolvedUsingTypenameDecl>(*Loc.F, Record, Idx)); in readTypeRecord()
5413 if (Record.size() != 2) { in readTypeRecord()
5418 TypedefNameDecl *Decl = ReadDeclAs<TypedefNameDecl>(*Loc.F, Record, Idx); in readTypeRecord()
5419 QualType Canonical = readType(*Loc.F, Record, Idx); in readTypeRecord()
5429 if (Record.size() != 1) { in readTypeRecord()
5433 QualType UnderlyingType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5438 QualType UnderlyingType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5443 QualType BaseType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5444 QualType UnderlyingType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5445 UnaryTransformType::UTTKind UKind = (UnaryTransformType::UTTKind)Record[2]; in readTypeRecord()
5450 QualType Deduced = readType(*Loc.F, Record, Idx); in readTypeRecord()
5451 AutoTypeKeyword Keyword = (AutoTypeKeyword)Record[Idx++]; in readTypeRecord()
5452 bool IsDependent = Deduced.isNull() ? Record[Idx++] : false; in readTypeRecord()
5457 if (Record.size() != 2) { in readTypeRecord()
5458 Error("incorrect encoding of record type"); in readTypeRecord()
5462 bool IsDependent = Record[Idx++]; in readTypeRecord()
5463 RecordDecl *RD = ReadDeclAs<RecordDecl>(*Loc.F, Record, Idx); in readTypeRecord()
5471 if (Record.size() != 2) { in readTypeRecord()
5476 bool IsDependent = Record[Idx++]; in readTypeRecord()
5478 = Context.getEnumType(ReadDeclAs<EnumDecl>(*Loc.F, Record, Idx)); in readTypeRecord()
5484 if (Record.size() != 3) { in readTypeRecord()
5488 QualType modifiedType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5489 QualType equivalentType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5490 AttributedType::Kind kind = static_cast<AttributedType::Kind>(Record[2]); in readTypeRecord()
5495 if (Record.size() != 1) { in readTypeRecord()
5499 QualType InnerType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5504 if (Record.size() != 2) { in readTypeRecord()
5508 QualType Pattern = readType(*Loc.F, Record, Idx); in readTypeRecord()
5512 if (Record[1]) in readTypeRecord()
5513 NumExpansions = Record[1] - 1; in readTypeRecord()
5519 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++]; in readTypeRecord()
5520 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx); in readTypeRecord()
5521 QualType NamedType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5528 = ReadDeclAs<ObjCInterfaceDecl>(*Loc.F, Record, Idx); in readTypeRecord()
5534 QualType Base = readType(*Loc.F, Record, Idx); in readTypeRecord()
5535 unsigned NumTypeArgs = Record[Idx++]; in readTypeRecord()
5538 TypeArgs.push_back(readType(*Loc.F, Record, Idx)); in readTypeRecord()
5539 unsigned NumProtos = Record[Idx++]; in readTypeRecord()
5542 Protos.push_back(ReadDeclAs<ObjCProtocolDecl>(*Loc.F, Record, Idx)); in readTypeRecord()
5543 bool IsKindOf = Record[Idx++]; in readTypeRecord()
5549 QualType Pointee = readType(*Loc.F, Record, Idx); in readTypeRecord()
5555 QualType Parm = readType(*Loc.F, Record, Idx); in readTypeRecord()
5556 QualType Replacement = readType(*Loc.F, Record, Idx); in readTypeRecord()
5564 QualType Parm = readType(*Loc.F, Record, Idx); in readTypeRecord()
5565 TemplateArgument ArgPack = ReadTemplateArgument(*Loc.F, Record, Idx); in readTypeRecord()
5572 CXXRecordDecl *D = ReadDeclAs<CXXRecordDecl>(*Loc.F, Record, Idx); in readTypeRecord()
5573 QualType TST = readType(*Loc.F, Record, Idx); // probably derivable in readTypeRecord()
5593 unsigned Depth = Record[Idx++]; in readTypeRecord()
5594 unsigned Index = Record[Idx++]; in readTypeRecord()
5595 bool Pack = Record[Idx++]; in readTypeRecord()
5597 = ReadDeclAs<TemplateTypeParmDecl>(*Loc.F, Record, Idx); in readTypeRecord()
5603 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++]; in readTypeRecord()
5604 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx); in readTypeRecord()
5605 const IdentifierInfo *Name = GetIdentifierInfo(*Loc.F, Record, Idx); in readTypeRecord()
5606 QualType Canon = readType(*Loc.F, Record, Idx); in readTypeRecord()
5614 ElaboratedTypeKeyword Keyword = (ElaboratedTypeKeyword)Record[Idx++]; in readTypeRecord()
5615 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(*Loc.F, Record, Idx); in readTypeRecord()
5616 const IdentifierInfo *Name = GetIdentifierInfo(*Loc.F, Record, Idx); in readTypeRecord()
5617 unsigned NumArgs = Record[Idx++]; in readTypeRecord()
5621 Args.push_back(ReadTemplateArgument(*Loc.F, Record, Idx)); in readTypeRecord()
5630 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5632 = (ArrayType::ArraySizeModifier)Record[Idx++]; in readTypeRecord()
5633 unsigned IndexTypeQuals = Record[Idx++]; in readTypeRecord()
5637 SourceRange Brackets = ReadSourceRange(*Loc.F, Record, Idx); in readTypeRecord()
5645 bool IsDependent = Record[Idx++]; in readTypeRecord()
5646 TemplateName Name = ReadTemplateName(*Loc.F, Record, Idx); in readTypeRecord()
5648 ReadTemplateArgumentList(Args, *Loc.F, Record, Idx); in readTypeRecord()
5649 QualType Underlying = readType(*Loc.F, Record, Idx); in readTypeRecord()
5660 if (Record.size() != 1) { in readTypeRecord()
5664 QualType ValueType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5669 if (Record.size() != 1) { in readTypeRecord()
5675 QualType ElementType = readType(*Loc.F, Record, Idx); in readTypeRecord()
5685 const RecordData &Record, unsigned &Idx) { in readExceptionSpec() argument
5687 static_cast<ExceptionSpecificationType>(Record[Idx++]); in readExceptionSpec()
5690 for (unsigned I = 0, N = Record[Idx++]; I != N; ++I) in readExceptionSpec()
5691 Exceptions.push_back(readType(ModuleFile, Record, Idx)); in readExceptionSpec()
5696 ESI.SourceDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx); in readExceptionSpec()
5697 ESI.SourceTemplate = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx); in readExceptionSpec()
5699 ESI.SourceDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx); in readExceptionSpec()
5706 const ASTReader::RecordData &Record; member in clang::TypeLocReader
5715 T *ReadDeclAs(const ASTReader::RecordData &Record, unsigned &Idx) { in ReadDeclAs() argument
5716 return Reader.ReadDeclAs<T>(F, Record, Idx); in ReadDeclAs()
5721 const ASTReader::RecordData &Record, unsigned &Idx) in TypeLocReader() argument
5722 : Reader(Reader), F(F), Record(Record), Idx(Idx) in TypeLocReader()
5741 TL.setBuiltinLoc(ReadSourceLocation(Record, Idx)); in VisitBuiltinTypeLoc()
5743 TL.setWrittenTypeSpec(static_cast<DeclSpec::TST>(Record[Idx++])); in VisitBuiltinTypeLoc()
5744 TL.setWrittenSignSpec(static_cast<DeclSpec::TSS>(Record[Idx++])); in VisitBuiltinTypeLoc()
5745 TL.setWrittenWidthSpec(static_cast<DeclSpec::TSW>(Record[Idx++])); in VisitBuiltinTypeLoc()
5746 TL.setModeAttr(Record[Idx++]); in VisitBuiltinTypeLoc()
5750 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitComplexTypeLoc()
5753 TL.setStarLoc(ReadSourceLocation(Record, Idx)); in VisitPointerTypeLoc()
5762 TL.setCaretLoc(ReadSourceLocation(Record, Idx)); in VisitBlockPointerTypeLoc()
5765 TL.setAmpLoc(ReadSourceLocation(Record, Idx)); in VisitLValueReferenceTypeLoc()
5768 TL.setAmpAmpLoc(ReadSourceLocation(Record, Idx)); in VisitRValueReferenceTypeLoc()
5771 TL.setStarLoc(ReadSourceLocation(Record, Idx)); in VisitMemberPointerTypeLoc()
5772 TL.setClassTInfo(Reader.GetTypeSourceInfo(F, Record, Idx)); in VisitMemberPointerTypeLoc()
5775 TL.setLBracketLoc(ReadSourceLocation(Record, Idx)); in VisitArrayTypeLoc()
5776 TL.setRBracketLoc(ReadSourceLocation(Record, Idx)); in VisitArrayTypeLoc()
5777 if (Record[Idx++]) in VisitArrayTypeLoc()
5797 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitDependentSizedExtVectorTypeLoc()
5800 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitVectorTypeLoc()
5803 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitExtVectorTypeLoc()
5806 TL.setLocalRangeBegin(ReadSourceLocation(Record, Idx)); in VisitFunctionTypeLoc()
5807 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitFunctionTypeLoc()
5808 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitFunctionTypeLoc()
5809 TL.setLocalRangeEnd(ReadSourceLocation(Record, Idx)); in VisitFunctionTypeLoc()
5811 TL.setParam(i, ReadDeclAs<ParmVarDecl>(Record, Idx)); in VisitFunctionTypeLoc()
5821 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitUnresolvedUsingTypeLoc()
5824 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitTypedefTypeLoc()
5827 TL.setTypeofLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfExprTypeLoc()
5828 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfExprTypeLoc()
5829 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfExprTypeLoc()
5832 TL.setTypeofLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfTypeLoc()
5833 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfTypeLoc()
5834 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitTypeOfTypeLoc()
5835 TL.setUnderlyingTInfo(Reader.GetTypeSourceInfo(F, Record, Idx)); in VisitTypeOfTypeLoc()
5838 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitDecltypeTypeLoc()
5841 TL.setKWLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryTransformTypeLoc()
5842 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryTransformTypeLoc()
5843 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryTransformTypeLoc()
5844 TL.setUnderlyingTInfo(Reader.GetTypeSourceInfo(F, Record, Idx)); in VisitUnaryTransformTypeLoc()
5847 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitAutoTypeLoc()
5850 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitRecordTypeLoc()
5853 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitEnumTypeLoc()
5856 TL.setAttrNameLoc(ReadSourceLocation(Record, Idx)); in VisitAttributedTypeLoc()
5859 range.setBegin(ReadSourceLocation(Record, Idx)); in VisitAttributedTypeLoc()
5860 range.setEnd(ReadSourceLocation(Record, Idx)); in VisitAttributedTypeLoc()
5864 if (Record[Idx++]) in VisitAttributedTypeLoc()
5869 TL.setAttrEnumOperandLoc(ReadSourceLocation(Record, Idx)); in VisitAttributedTypeLoc()
5872 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitTemplateTypeParmTypeLoc()
5876 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitSubstTemplateTypeParmTypeLoc()
5880 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitSubstTemplateTypeParmPackTypeLoc()
5884 TL.setTemplateKeywordLoc(ReadSourceLocation(Record, Idx)); in VisitTemplateSpecializationTypeLoc()
5885 TL.setTemplateNameLoc(ReadSourceLocation(Record, Idx)); in VisitTemplateSpecializationTypeLoc()
5886 TL.setLAngleLoc(ReadSourceLocation(Record, Idx)); in VisitTemplateSpecializationTypeLoc()
5887 TL.setRAngleLoc(ReadSourceLocation(Record, Idx)); in VisitTemplateSpecializationTypeLoc()
5892 Record, Idx)); in VisitTemplateSpecializationTypeLoc()
5895 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitParenTypeLoc()
5896 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitParenTypeLoc()
5899 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx)); in VisitElaboratedTypeLoc()
5900 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx)); in VisitElaboratedTypeLoc()
5903 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitInjectedClassNameTypeLoc()
5906 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx)); in VisitDependentNameTypeLoc()
5907 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx)); in VisitDependentNameTypeLoc()
5908 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitDependentNameTypeLoc()
5912 TL.setElaboratedKeywordLoc(ReadSourceLocation(Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5913 TL.setQualifierLoc(Reader.ReadNestedNameSpecifierLoc(F, Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5914 TL.setTemplateKeywordLoc(ReadSourceLocation(Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5915 TL.setTemplateNameLoc(ReadSourceLocation(Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5916 TL.setLAngleLoc(ReadSourceLocation(Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5917 TL.setRAngleLoc(ReadSourceLocation(Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5922 Record, Idx)); in VisitDependentTemplateSpecializationTypeLoc()
5925 TL.setEllipsisLoc(ReadSourceLocation(Record, Idx)); in VisitPackExpansionTypeLoc()
5928 TL.setNameLoc(ReadSourceLocation(Record, Idx)); in VisitObjCInterfaceTypeLoc()
5931 TL.setHasBaseTypeAsWritten(Record[Idx++]); in VisitObjCObjectTypeLoc()
5932 TL.setTypeArgsLAngleLoc(ReadSourceLocation(Record, Idx)); in VisitObjCObjectTypeLoc()
5933 TL.setTypeArgsRAngleLoc(ReadSourceLocation(Record, Idx)); in VisitObjCObjectTypeLoc()
5935 TL.setTypeArgTInfo(i, Reader.GetTypeSourceInfo(F, Record, Idx)); in VisitObjCObjectTypeLoc()
5936 TL.setProtocolLAngleLoc(ReadSourceLocation(Record, Idx)); in VisitObjCObjectTypeLoc()
5937 TL.setProtocolRAngleLoc(ReadSourceLocation(Record, Idx)); in VisitObjCObjectTypeLoc()
5939 TL.setProtocolLoc(i, ReadSourceLocation(Record, Idx)); in VisitObjCObjectTypeLoc()
5942 TL.setStarLoc(ReadSourceLocation(Record, Idx)); in VisitObjCObjectPointerTypeLoc()
5945 TL.setKWLoc(ReadSourceLocation(Record, Idx)); in VisitAtomicTypeLoc()
5946 TL.setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitAtomicTypeLoc()
5947 TL.setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitAtomicTypeLoc()
5950 TL.setKWLoc(ReadSourceLocation(Record, Idx)); in VisitPipeTypeLoc()
5954 const RecordData &Record, in GetTypeSourceInfo() argument
5956 QualType InfoTy = readType(F, Record, Idx); in GetTypeSourceInfo()
5961 TypeLocReader TLR(*this, F, Record, Idx); in GetTypeSourceInfo()
6163 const RecordData &Record, in GetTemplateArgumentLocInfo() argument
6169 return GetTypeSourceInfo(F, Record, Index); in GetTemplateArgumentLocInfo()
6171 NestedNameSpecifierLoc QualifierLoc = ReadNestedNameSpecifierLoc(F, Record, in GetTemplateArgumentLocInfo()
6173 SourceLocation TemplateNameLoc = ReadSourceLocation(F, Record, Index); in GetTemplateArgumentLocInfo()
6178 NestedNameSpecifierLoc QualifierLoc = ReadNestedNameSpecifierLoc(F, Record, in GetTemplateArgumentLocInfo()
6180 SourceLocation TemplateNameLoc = ReadSourceLocation(F, Record, Index); in GetTemplateArgumentLocInfo()
6181 SourceLocation EllipsisLoc = ReadSourceLocation(F, Record, Index); in GetTemplateArgumentLocInfo()
6198 const RecordData &Record, unsigned &Index) { in ReadTemplateArgumentLoc() argument
6199 TemplateArgument Arg = ReadTemplateArgument(F, Record, Index); in ReadTemplateArgumentLoc()
6202 if (Record[Index++]) // bool InfoHasSameExpr. in ReadTemplateArgumentLoc()
6206 Record, Index)); in ReadTemplateArgumentLoc()
6211 const RecordData &Record, in ReadASTTemplateArgumentListInfo() argument
6213 SourceLocation LAngleLoc = ReadSourceLocation(F, Record, Index); in ReadASTTemplateArgumentListInfo()
6214 SourceLocation RAngleLoc = ReadSourceLocation(F, Record, Index); in ReadASTTemplateArgumentListInfo()
6215 unsigned NumArgsAsWritten = Record[Index++]; in ReadASTTemplateArgumentListInfo()
6218 TemplArgsInfo.addArgument(ReadTemplateArgumentLoc(F, Record, Index)); in ReadASTTemplateArgumentListInfo()
6292 RecordData Record; in GetExternalCXXCtorInitializers() local
6294 unsigned RecCode = Cursor.readRecord(Code, Record); in GetExternalCXXCtorInitializers()
6301 return ReadCXXCtorInitializers(*Loc.F, Record, Idx); in GetExternalCXXCtorInitializers()
6310 RecordData Record; in GetExternalCXXBaseSpecifiers() local
6312 unsigned RecCode = Cursor.readRecord(Code, Record); in GetExternalCXXBaseSpecifiers()
6319 unsigned NumBases = Record[Idx++]; in GetExternalCXXBaseSpecifiers()
6323 Bases[I] = ReadCXXBaseSpecifier(*Loc.F, Record, Idx); in GetExternalCXXBaseSpecifiers()
6495 const RecordData &Record, in ReadDeclID() argument
6497 if (Idx >= Record.size()) { in ReadDeclID()
6502 return getGlobalDeclID(F, Record[Idx++]); in ReadDeclID()
7353 VT.Record = dyn_cast_or_null<CXXRecordDecl>(GetDecl(VTableUses[Idx++])); in ReadUsedVTables()
7446 // If we're simply supposed to record the declarations, do so now. in SetGloballyVisibleDecls()
7678 const RecordData &Record, unsigned &Idx) { in ReadDeclarationName() argument
7679 DeclarationName::NameKind Kind = (DeclarationName::NameKind)Record[Idx++]; in ReadDeclarationName()
7682 return DeclarationName(GetIdentifierInfo(F, Record, Idx)); in ReadDeclarationName()
7687 return DeclarationName(ReadSelector(F, Record, Idx)); in ReadDeclarationName()
7691 Context.getCanonicalType(readType(F, Record, Idx))); in ReadDeclarationName()
7695 Context.getCanonicalType(readType(F, Record, Idx))); in ReadDeclarationName()
7699 Context.getCanonicalType(readType(F, Record, Idx))); in ReadDeclarationName()
7703 (OverloadedOperatorKind)Record[Idx++]); in ReadDeclarationName()
7707 GetIdentifierInfo(F, Record, Idx)); in ReadDeclarationName()
7719 const RecordData &Record, unsigned &Idx) { in ReadDeclarationNameLoc() argument
7724 DNLoc.NamedType.TInfo = GetTypeSourceInfo(F, Record, Idx); in ReadDeclarationNameLoc()
7729 = ReadSourceLocation(F, Record, Idx).getRawEncoding(); in ReadDeclarationNameLoc()
7731 = ReadSourceLocation(F, Record, Idx).getRawEncoding(); in ReadDeclarationNameLoc()
7736 = ReadSourceLocation(F, Record, Idx).getRawEncoding(); in ReadDeclarationNameLoc()
7750 const RecordData &Record, unsigned &Idx) { in ReadDeclarationNameInfo() argument
7751 NameInfo.setName(ReadDeclarationName(F, Record, Idx)); in ReadDeclarationNameInfo()
7752 NameInfo.setLoc(ReadSourceLocation(F, Record, Idx)); in ReadDeclarationNameInfo()
7754 ReadDeclarationNameLoc(F, DNLoc, NameInfo.getName(), Record, Idx); in ReadDeclarationNameInfo()
7759 const RecordData &Record, unsigned &Idx) { in ReadQualifierInfo() argument
7760 Info.QualifierLoc = ReadNestedNameSpecifierLoc(F, Record, Idx); in ReadQualifierInfo()
7761 unsigned NumTPLists = Record[Idx++]; in ReadQualifierInfo()
7766 Info.TemplParamLists[i] = ReadTemplateParameterList(F, Record, Idx); in ReadQualifierInfo()
7771 ASTReader::ReadTemplateName(ModuleFile &F, const RecordData &Record, in ReadTemplateName() argument
7773 TemplateName::NameKind Kind = (TemplateName::NameKind)Record[Idx++]; in ReadTemplateName()
7776 return TemplateName(ReadDeclAs<TemplateDecl>(F, Record, Idx)); in ReadTemplateName()
7779 unsigned size = Record[Idx++]; in ReadTemplateName()
7782 Decls.addDecl(ReadDeclAs<NamedDecl>(F, Record, Idx)); in ReadTemplateName()
7788 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(F, Record, Idx); in ReadTemplateName()
7789 bool hasTemplKeyword = Record[Idx++]; in ReadTemplateName()
7790 TemplateDecl *Template = ReadDeclAs<TemplateDecl>(F, Record, Idx); in ReadTemplateName()
7795 NestedNameSpecifier *NNS = ReadNestedNameSpecifier(F, Record, Idx); in ReadTemplateName()
7796 if (Record[Idx++]) // isIdentifier in ReadTemplateName()
7798 GetIdentifierInfo(F, Record, in ReadTemplateName()
7801 (OverloadedOperatorKind)Record[Idx++]); in ReadTemplateName()
7806 = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx); in ReadTemplateName()
7808 TemplateName replacement = ReadTemplateName(F, Record, Idx); in ReadTemplateName()
7814 = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx); in ReadTemplateName()
7818 TemplateArgument ArgPack = ReadTemplateArgument(F, Record, Idx); in ReadTemplateName()
7830 const RecordData &Record, in ReadTemplateArgument() argument
7838 TemplateArgument Arg = ReadTemplateArgument(F, Record, Idx, false); in ReadTemplateArgument()
7842 TemplateArgument::ArgKind Kind = (TemplateArgument::ArgKind)Record[Idx++]; in ReadTemplateArgument()
7847 return TemplateArgument(readType(F, Record, Idx)); in ReadTemplateArgument()
7849 ValueDecl *D = ReadDeclAs<ValueDecl>(F, Record, Idx); in ReadTemplateArgument()
7850 return TemplateArgument(D, readType(F, Record, Idx)); in ReadTemplateArgument()
7853 return TemplateArgument(readType(F, Record, Idx), /*isNullPtr*/true); in ReadTemplateArgument()
7855 llvm::APSInt Value = ReadAPSInt(Record, Idx); in ReadTemplateArgument()
7856 QualType T = readType(F, Record, Idx); in ReadTemplateArgument()
7860 return TemplateArgument(ReadTemplateName(F, Record, Idx)); in ReadTemplateArgument()
7862 TemplateName Name = ReadTemplateName(F, Record, Idx); in ReadTemplateArgument()
7864 if (unsigned NumExpansions = Record[Idx++]) in ReadTemplateArgument()
7871 unsigned NumArgs = Record[Idx++]; in ReadTemplateArgument()
7874 Args[I] = ReadTemplateArgument(F, Record, Idx); in ReadTemplateArgument()
7884 const RecordData &Record, unsigned &Idx) { in ReadTemplateParameterList() argument
7885 SourceLocation TemplateLoc = ReadSourceLocation(F, Record, Idx); in ReadTemplateParameterList()
7886 SourceLocation LAngleLoc = ReadSourceLocation(F, Record, Idx); in ReadTemplateParameterList()
7887 SourceLocation RAngleLoc = ReadSourceLocation(F, Record, Idx); in ReadTemplateParameterList()
7889 unsigned NumParams = Record[Idx++]; in ReadTemplateParameterList()
7893 Params.push_back(ReadDeclAs<NamedDecl>(F, Record, Idx)); in ReadTemplateParameterList()
7904 ModuleFile &F, const RecordData &Record, in ReadTemplateArgumentList() argument
7906 unsigned NumTemplateArgs = Record[Idx++]; in ReadTemplateArgumentList()
7909 TemplArgs.push_back(ReadTemplateArgument(F, Record, Idx, Canonicalize)); in ReadTemplateArgumentList()
7914 const RecordData &Record, unsigned &Idx) { in ReadUnresolvedSet() argument
7915 unsigned NumDecls = Record[Idx++]; in ReadUnresolvedSet()
7918 DeclID ID = ReadDeclID(F, Record, Idx); in ReadUnresolvedSet()
7919 AccessSpecifier AS = (AccessSpecifier)Record[Idx++]; in ReadUnresolvedSet()
7926 const RecordData &Record, unsigned &Idx) { in ReadCXXBaseSpecifier() argument
7927 bool isVirtual = static_cast<bool>(Record[Idx++]); in ReadCXXBaseSpecifier()
7928 bool isBaseOfClass = static_cast<bool>(Record[Idx++]); in ReadCXXBaseSpecifier()
7929 AccessSpecifier AS = static_cast<AccessSpecifier>(Record[Idx++]); in ReadCXXBaseSpecifier()
7930 bool inheritConstructors = static_cast<bool>(Record[Idx++]); in ReadCXXBaseSpecifier()
7931 TypeSourceInfo *TInfo = GetTypeSourceInfo(F, Record, Idx); in ReadCXXBaseSpecifier()
7932 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadCXXBaseSpecifier()
7933 SourceLocation EllipsisLoc = ReadSourceLocation(F, Record, Idx); in ReadCXXBaseSpecifier()
7941 ASTReader::ReadCXXCtorInitializers(ModuleFile &F, const RecordData &Record, in ReadCXXCtorInitializers() argument
7943 unsigned NumInitializers = Record[Idx++]; in ReadCXXCtorInitializers()
7952 CtorInitializerType Type = (CtorInitializerType)Record[Idx++]; in ReadCXXCtorInitializers()
7955 TInfo = GetTypeSourceInfo(F, Record, Idx); in ReadCXXCtorInitializers()
7956 IsBaseVirtual = Record[Idx++]; in ReadCXXCtorInitializers()
7960 TInfo = GetTypeSourceInfo(F, Record, Idx); in ReadCXXCtorInitializers()
7964 Member = ReadDeclAs<FieldDecl>(F, Record, Idx); in ReadCXXCtorInitializers()
7968 IndirectMember = ReadDeclAs<IndirectFieldDecl>(F, Record, Idx); in ReadCXXCtorInitializers()
7972 SourceLocation MemberOrEllipsisLoc = ReadSourceLocation(F, Record, Idx); in ReadCXXCtorInitializers()
7974 SourceLocation LParenLoc = ReadSourceLocation(F, Record, Idx); in ReadCXXCtorInitializers()
7975 SourceLocation RParenLoc = ReadSourceLocation(F, Record, Idx); in ReadCXXCtorInitializers()
7976 bool IsWritten = Record[Idx++]; in ReadCXXCtorInitializers()
7980 SourceOrderOrNumArrayIndices = Record[Idx++]; in ReadCXXCtorInitializers()
7982 SourceOrderOrNumArrayIndices = Record[Idx++]; in ReadCXXCtorInitializers()
7985 Indices.push_back(ReadDeclAs<VarDecl>(F, Record, Idx)); in ReadCXXCtorInitializers()
8027 const RecordData &Record, unsigned &Idx) { in ReadNestedNameSpecifier() argument
8028 unsigned N = Record[Idx++]; in ReadNestedNameSpecifier()
8032 = (NestedNameSpecifier::SpecifierKind)Record[Idx++]; in ReadNestedNameSpecifier()
8035 IdentifierInfo *II = GetIdentifierInfo(F, Record, Idx); in ReadNestedNameSpecifier()
8041 NamespaceDecl *NS = ReadDeclAs<NamespaceDecl>(F, Record, Idx); in ReadNestedNameSpecifier()
8047 NamespaceAliasDecl *Alias =ReadDeclAs<NamespaceAliasDecl>(F, Record, Idx); in ReadNestedNameSpecifier()
8054 const Type *T = readType(F, Record, Idx).getTypePtrOrNull(); in ReadNestedNameSpecifier()
8058 bool Template = Record[Idx++]; in ReadNestedNameSpecifier()
8070 CXXRecordDecl *RD = ReadDeclAs<CXXRecordDecl>(F, Record, Idx); in ReadNestedNameSpecifier()
8081 ASTReader::ReadNestedNameSpecifierLoc(ModuleFile &F, const RecordData &Record, in ReadNestedNameSpecifierLoc() argument
8083 unsigned N = Record[Idx++]; in ReadNestedNameSpecifierLoc()
8087 = (NestedNameSpecifier::SpecifierKind)Record[Idx++]; in ReadNestedNameSpecifierLoc()
8090 IdentifierInfo *II = GetIdentifierInfo(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8091 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8097 NamespaceDecl *NS = ReadDeclAs<NamespaceDecl>(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8098 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8104 NamespaceAliasDecl *Alias =ReadDeclAs<NamespaceAliasDecl>(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8105 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8112 bool Template = Record[Idx++]; in ReadNestedNameSpecifierLoc()
8113 TypeSourceInfo *T = GetTypeSourceInfo(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8116 SourceLocation ColonColonLoc = ReadSourceLocation(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8126 SourceLocation ColonColonLoc = ReadSourceLocation(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8132 CXXRecordDecl *RD = ReadDeclAs<CXXRecordDecl>(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8133 SourceRange Range = ReadSourceRange(F, Record, Idx); in ReadNestedNameSpecifierLoc()
8144 ASTReader::ReadSourceRange(ModuleFile &F, const RecordData &Record, in ReadSourceRange() argument
8146 SourceLocation beg = ReadSourceLocation(F, Record, Idx); in ReadSourceRange()
8147 SourceLocation end = ReadSourceLocation(F, Record, Idx); in ReadSourceRange()
8152 llvm::APInt ASTReader::ReadAPInt(const RecordData &Record, unsigned &Idx) { in ReadAPInt() argument
8153 unsigned BitWidth = Record[Idx++]; in ReadAPInt()
8155 llvm::APInt Result(BitWidth, NumWords, &Record[Idx]); in ReadAPInt()
8161 llvm::APSInt ASTReader::ReadAPSInt(const RecordData &Record, unsigned &Idx) { in ReadAPSInt() argument
8162 bool isUnsigned = Record[Idx++]; in ReadAPSInt()
8163 return llvm::APSInt(ReadAPInt(Record, Idx), isUnsigned); in ReadAPSInt()
8167 llvm::APFloat ASTReader::ReadAPFloat(const RecordData &Record, in ReadAPFloat() argument
8170 return llvm::APFloat(Sem, ReadAPInt(Record, Idx)); in ReadAPFloat()
8174 std::string ASTReader::ReadString(const RecordData &Record, unsigned &Idx) { in ReadString() argument
8175 unsigned Len = Record[Idx++]; in ReadString()
8176 std::string Result(Record.data() + Idx, Record.data() + Idx + Len); in ReadString()
8181 std::string ASTReader::ReadPath(ModuleFile &F, const RecordData &Record, in ReadPath() argument
8183 std::string Filename = ReadString(Record, Idx); in ReadPath()
8188 VersionTuple ASTReader::ReadVersionTuple(const RecordData &Record, in ReadVersionTuple() argument
8190 unsigned Major = Record[Idx++]; in ReadVersionTuple()
8191 unsigned Minor = Record[Idx++]; in ReadVersionTuple()
8192 unsigned Subminor = Record[Idx++]; in ReadVersionTuple()
8201 const RecordData &Record, in ReadCXXTemporary() argument
8203 CXXDestructorDecl *Decl = ReadDeclAs<CXXDestructorDecl>(F, Record, Idx); in ReadCXXTemporary()
8221 /// \brief Record that the given ID maps to the given switch-case
8251 RecordData Record; in ReadComments() local
8259 Error("malformed block record in AST file"); in ReadComments()
8263 case llvm::BitstreamEntry::Record: in ReadComments()
8268 // Read a record. in ReadComments()
8269 Record.clear(); in ReadComments()
8270 switch ((CommentRecordTypes)Cursor.readRecord(Entry.ID, Record)) { in ReadComments()
8273 SourceRange SR = ReadSourceRange(F, Record, Idx); in ReadComments()
8275 (RawComment::CommentKind) Record[Idx++]; in ReadComments()
8276 bool IsTrailingComment = Record[Idx++]; in ReadComments()
8277 bool IsAlmostTrailingComment = Record[Idx++]; in ReadComments()