Lines Matching +full:4 +full:- +full:wire +full:- +full:rtd

1 //===- ASTReader.cpp - AST File Reader ------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
154 //===----------------------------------------------------------------------===//
156 //===----------------------------------------------------------------------===//
160 return First->ReadFullVersionInformation(FullVersion) || in ReadFullVersionInformation()
161 Second->ReadFullVersionInformation(FullVersion); in ReadFullVersionInformation()
165 First->ReadModuleName(ModuleName); in ReadModuleName()
166 Second->ReadModuleName(ModuleName); in ReadModuleName()
170 First->ReadModuleMapFile(ModuleMapPath); in ReadModuleMapFile()
171 Second->ReadModuleMapFile(ModuleMapPath); in ReadModuleMapFile()
178 return First->ReadLanguageOptions(LangOpts, Complain, in ReadLanguageOptions()
180 Second->ReadLanguageOptions(LangOpts, Complain, in ReadLanguageOptions()
187 return First->ReadTargetOptions(TargetOpts, Complain, in ReadTargetOptions()
189 Second->ReadTargetOptions(TargetOpts, Complain, in ReadTargetOptions()
195 return First->ReadDiagnosticOptions(DiagOpts, Complain) || in ReadDiagnosticOptions()
196 Second->ReadDiagnosticOptions(DiagOpts, Complain); in ReadDiagnosticOptions()
202 return First->ReadFileSystemOptions(FSOpts, Complain) || in ReadFileSystemOptions()
203 Second->ReadFileSystemOptions(FSOpts, Complain); in ReadFileSystemOptions()
209 return First->ReadHeaderSearchOptions(HSOpts, SpecificModuleCachePath, in ReadHeaderSearchOptions()
211 Second->ReadHeaderSearchOptions(HSOpts, SpecificModuleCachePath, in ReadHeaderSearchOptions()
218 return First->ReadPreprocessorOptions(PPOpts, ReadMacros, Complain, in ReadPreprocessorOptions()
220 Second->ReadPreprocessorOptions(PPOpts, ReadMacros, Complain, in ReadPreprocessorOptions()
226 First->ReadCounter(M, Value); in ReadCounter()
227 Second->ReadCounter(M, Value); in ReadCounter()
231 return First->needsInputFileVisitation() || in needsInputFileVisitation()
232 Second->needsInputFileVisitation(); in needsInputFileVisitation()
236 return First->needsSystemInputFileVisitation() || in needsSystemInputFileVisitation()
237 Second->needsSystemInputFileVisitation(); in needsSystemInputFileVisitation()
242 First->visitModuleFile(Filename, Kind); in visitModuleFile()
243 Second->visitModuleFile(Filename, Kind); in visitModuleFile()
251 if (First->needsInputFileVisitation() && in visitInputFile()
252 (!isSystem || First->needsSystemInputFileVisitation())) in visitInputFile()
253 Continue |= First->visitInputFile(Filename, isSystem, isOverridden, in visitInputFile()
255 if (Second->needsInputFileVisitation() && in visitInputFile()
256 (!isSystem || Second->needsSystemInputFileVisitation())) in visitInputFile()
257 Continue |= Second->visitInputFile(Filename, isSystem, isOverridden, in visitInputFile()
264 First->readModuleFileExtension(Metadata); in readModuleFileExtension()
265 Second->readModuleFileExtension(Metadata); in readModuleFileExtension()
268 //===----------------------------------------------------------------------===//
270 //===----------------------------------------------------------------------===//
277 /// \param Diags If non-NULL, diagnostics will be emitted via this engine.
281 /// \returns true if the languagae options mis-match, false otherwise.
290 Diags->Report(diag::err_pch_langopt_mismatch) \ in checkLanguageOptions()
293 Diags->Report(diag::err_pch_langopt_value_mismatch) \ in checkLanguageOptions()
302 Diags->Report(diag::err_pch_langopt_value_mismatch) \ in checkLanguageOptions()
310 Diags->Report(diag::err_pch_langopt_value_mismatch) \ in checkLanguageOptions()
334 Diags->Report(diag::err_pch_langopt_value_mismatch) << "module features"; in checkLanguageOptions()
340 Diags->Report(diag::err_pch_langopt_value_mismatch) in checkLanguageOptions()
341 << "target Objective-C runtime"; in checkLanguageOptions()
348 Diags->Report(diag::err_pch_langopt_value_mismatch) in checkLanguageOptions()
355 // mismatches of non-modular sanitizers (the only ones which can affect AST in checkLanguageOptions()
364 const std::string Flag = "-fsanitize="; in checkLanguageOptions()
371 Diags->Report(diag::err_pch_targetopt_feature_mismatch) \ in checkLanguageOptions()
386 /// \param Diags If non-NULL, diagnostics will be emitted via this engine.
388 /// \returns true if the target options mis-match, false otherwise.
396 Diags->Report(diag::err_pch_targetopt_mismatch) \ in checkTargetOptions()
416 SmallVector<StringRef, 4> ExistingFeatures( in checkTargetOptions()
419 SmallVector<StringRef, 4> ReadFeatures(TargetOpts.FeaturesAsWritten.begin(), in checkTargetOptions()
426 SmallVector<StringRef, 4> UnmatchedExistingFeatures, UnmatchedReadFeatures; in checkTargetOptions()
441 Diags->Report(diag::err_pch_targetopt_feature_mismatch) in checkTargetOptions()
442 << /* is-existing-feature */ false << Feature; in checkTargetOptions()
444 Diags->Report(diag::err_pch_targetopt_feature_mismatch) in checkTargetOptions()
445 << /* is-existing-feature */ true << Feature; in checkTargetOptions()
483 // Check current mappings for new -Werror mappings, and the stored mappings in checkDiagnosticGroupMappings()
485 // errors because of options like -Werror. in checkDiagnosticGroupMappings()
489 for (auto DiagIDMappingPair : MappingSource->getDiagnosticMappings()) { in checkDiagnosticGroupMappings()
498 Diags.Report(diag::err_pch_diagopt_mismatch) << "-Werror=" + in checkDiagnosticGroupMappings()
499 Diags.getDiagnosticIDs()->getWarningOptionForDiag(DiagID).str(); in checkDiagnosticGroupMappings()
519 // Top-level options in checkDiagnosticMappings()
523 // If -Wsystem-headers was not enabled before, and it was not explicit, in checkDiagnosticMappings()
528 Diags.Report(diag::err_pch_diagopt_mismatch) << "-Wsystem-headers"; in checkDiagnosticMappings()
535 Diags.Report(diag::err_pch_diagopt_mismatch) << "-Werror"; in checkDiagnosticMappings()
542 Diags.Report(diag::err_pch_diagopt_mismatch) << "-Weverything -Werror"; in checkDiagnosticMappings()
549 Diags.Report(diag::err_pch_diagopt_mismatch) << "-pedantic-errors"; in checkDiagnosticMappings()
562 // module import of an implicitly-loaded module file. in getTopImportImplicitModule()
567 while (!TopImport->ImportedBy.empty()) in getTopImportImplicitModule()
568 TopImport = TopImport->ImportedBy[0]; in getTopImportImplicitModule()
569 if (TopImport->Kind != MK_ImplicitModule) in getTopImportImplicitModule()
572 StringRef ModuleName = TopImport->ModuleName; in getTopImportImplicitModule()
576 PP.getHeaderSearchInfo().lookupModule(ModuleName, TopImport->ImportLoc); in getTopImportImplicitModule()
603 Importer->Name); in ReadDiagnosticOptions()
607 return checkDiagnosticMappings(*Diags, ExistingDiags, TopM->IsSystem, in ReadDiagnosticOptions()
628 MacroNames->push_back(MacroName); in collectMacroDefinitions()
638 // Note: GCC drops anything following an end-of-line character. in collectMacroDefinitions()
644 MacroNames->push_back(MacroName); in collectMacroDefinitions()
658 /// \param Diags If non-null, produce diagnostics for any mismatches incurred.
662 /// line (-D or -U) match, but tolerate options missing in one or the
676 SmallVector<StringRef, 4> ExistingMacroNames; in checkPreprocessorOptions()
697 Diags->Report(diag::err_pch_macro_def_undef) << MacroName << true; in checkPreprocessorOptions()
721 if (Existing.second != Known->second.second) { in checkPreprocessorOptions()
723 Diags->Report(diag::err_pch_macro_def_undef) in checkPreprocessorOptions()
724 << MacroName << Known->second.second; in checkPreprocessorOptions()
731 if (Existing.second || Existing.first == Known->second.first) { in checkPreprocessorOptions()
738 Diags->Report(diag::err_pch_macro_def_conflict) in checkPreprocessorOptions()
739 << MacroName << Known->second.first << Existing.first; in checkPreprocessorOptions()
744 // Leave the <command line> file and return to <built-in>. in checkPreprocessorOptions()
745 SuggestedPredefines += "# 1 \"<built-in>\" 2\n"; in checkPreprocessorOptions()
752 Diags->Report(diag::err_pch_macro_def_undef) << MacroName << false; in checkPreprocessorOptions()
763 Diags->Report(diag::err_pch_undef) << ExistingPPOpts.UsePredefines; in checkPreprocessorOptions()
773 Diags->Report(diag::err_pch_pp_detailed_record) << PPOpts.DetailedRecord; in checkPreprocessorOptions()
837 /// \param Diags If non-null, produce diagnostics for any mismatches incurred.
853 Diags->Report(diag::err_pch_modulecache_mismatch) in checkModuleCachePath()
872 //===----------------------------------------------------------------------===//
874 //===----------------------------------------------------------------------===//
887 /// Read ULEB-encoded key length and data length.
923 ModuleFileIndex == 0 ? &MF : MF.TransitiveImports[ModuleFileIndex - 1]; in get()
926 unsigned LocalNumDecls = OwningModuleFile->LocalNumDecls; in get()
1023 assert(n >= 2 && d[n-1] == '\0'); in ReadKey()
1024 return StringRef((const char*) d, n-1); in ReadKey()
1072 DataLen -= sizeof(IdentifierID); in ReadData()
1104 DataLen -= sizeof(uint16_t) * 2; in ReadData()
1107 // Token IDs are read-only. in ReadData()
1108 if (HasRevertedTokenIDToIdentifier && II->getTokenID() != tok::identifier) in ReadData()
1109 II->revertTokenIDToIdentifier(); in ReadData()
1111 II->setObjCOrBuiltinID(ObjCOrBuiltinID); in ReadData()
1112 assert(II->isExtensionToken() == ExtensionToken && in ReadData()
1116 II->setIsPoisoned(true); in ReadData()
1117 assert(II->isCPlusPlusOperatorKeyword() == CPlusPlusOperatorKeyword && in ReadData()
1126 DataLen -= 4; in ReadData()
1136 SmallVector<GlobalDeclID, 4> DeclIDs; in ReadData()
1137 for (; DataLen > 0; DataLen -= sizeof(DeclID)) in ReadData()
1167 ->getDeclName().getAsIdentifierInfo(); in DeclarationNameKey()
1186 ID.AddString(((IdentifierInfo*)Data)->getName()); in getHash()
1261 for (unsigned NumDecls = DataLen / sizeof(DeclID); NumDecls; --NumDecls) { in ReadDataInto()
1313 DC->setHasExternalLexicalStorage(true); in ReadLexicalDeclContextStorage()
1378 // Ideally we'd just emit it, but have to handle a possible in-flight in Error()
1380 auto NumArgs = Diag.getStorage()->NumDiagArgs; in Error()
1399 //===----------------------------------------------------------------------===//
1401 //===----------------------------------------------------------------------===//
1410 FileIDs[-1] = -1; // For unspecified filenames. in ParseLineTable()
1448 // Set the source-location entry cursor to the current position in in ReadSourceManagerBlock()
1451 // source-location entries as needed. in ReadSourceManagerBlock()
1505 BitstreamCursor &Cursor = F->SLocEntryCursor; in readSLocOffset()
1507 if (llvm::Error Err = Cursor.JumpToBit(F->SLocEntryOffsetsBase + in readSLocOffset()
1508 F->SLocEntryOffsets[Index])) in readSLocOffset()
1519 "incorrectly-formatted source location entry in AST file"); in readSLocOffset()
1531 "incorrectly-formatted source location entry in AST file"); in readSLocOffset()
1535 return F->SLocEntryBaseOffset + Record[0]; in readSLocOffset()
1541 GlobalSLocOffsetMap.find(SourceManager::MaxLoadedOffset - SLocOffset - 1); in getSLocEntryID()
1544 ModuleFile *F = SLocMapI->second; in getSLocEntryID()
1549 llvm::index_range(0, F->LocalNumSLocEntries), SLocOffset, in getSLocEntryID()
1551 int ID = F->SLocEntryBaseID + LocalIndex; in getSLocEntryID()
1552 std::size_t Index = -ID - 2; in getSLocEntryID()
1573 return F->SLocEntryBaseID + *std::prev(It); in getSLocEntryID()
1580 if (unsigned(-ID) - 2 >= getTotalNumSLocs() || ID > 0) { in ReadSLocEntry()
1581 Error("source location entry ID out-of-range for AST file"); in ReadSLocEntry()
1585 // Local helper to read the (possibly-compressed) buffer data following the in ReadSLocEntry()
1589 StringRef Name) -> std::unique_ptr<llvm::MemoryBuffer> { in ReadSLocEntry()
1609 // (little-endian 0xFD2FB528). in ReadSLocEntry()
1635 ModuleFile *F = GlobalSLocEntryMap.find(-ID)->second; in ReadSLocEntry()
1636 if (llvm::Error Err = F->SLocEntryCursor.JumpToBit( in ReadSLocEntry()
1637 F->SLocEntryOffsetsBase + in ReadSLocEntry()
1638 F->SLocEntryOffsets[ID - F->SLocEntryBaseID])) { in ReadSLocEntry()
1643 BitstreamCursor &SLocEntryCursor = F->SLocEntryCursor; in ReadSLocEntry()
1644 SourceLocation::UIntTy BaseOffset = F->SLocEntryBaseOffset; in ReadSLocEntry()
1655 Error("incorrectly-formatted source location entry in AST file"); in ReadSLocEntry()
1669 Error("incorrectly-formatted source location entry in AST file"); in ReadSLocEntry()
1675 unsigned InputID = Record[4]; in ReadSLocEntry()
1680 // Note that we only check if a File was returned. If it was out-of-date in ReadSLocEntry()
1687 if (IncludeLoc.isInvalid() && F->Kind != MK_MainFile) { in ReadSLocEntry()
1702 const unaligned_decl_id_t *FirstDecl = F->FileSortedDecls + Record[6]; in ReadSLocEntry()
1703 assert(F->FileSortedDecls && "FILE_SORTED_DECLS not encountered yet ?"); in ReadSLocEntry()
1713 auto Buffer = ReadBuffer(SLocEntryCursor, File->getName()); in ReadSLocEntry()
1728 if (IncludeLoc.isInvalid() && F->isModule()) { in ReadSLocEntry()
1750 Record[5], Record[4], ID, in ReadSLocEntry()
1763 if (unsigned(-ID) - 2 >= getTotalNumSLocs() || ID > 0) { in getModuleImportLoc()
1764 Error("source location entry ID out-of-range for AST file"); in getModuleImportLoc()
1769 ModuleFile *M = GlobalSLocEntryMap.find(-ID)->second; in getModuleImportLoc()
1770 if (!M->isModule()) in getModuleImportLoc()
1775 return std::make_pair(M->ImportLoc, StringRef(M->ModuleName)); in getModuleImportLoc()
1780 if (F->ImportLoc.isValid()) in getImportLocation()
1781 return F->ImportLoc; in getImportLocation()
1785 if (F->ImportedBy.empty() || !F->ImportedBy[0]) { in getImportLocation()
1790 return F->ImportedBy[0]->FirstLoc; in getImportLocation()
1836 Info->PragmaName = ReadToken(M, Record, Idx); in ReadToken()
1837 Info->Option = ReadToken(M, Record, Idx); in ReadToken()
1839 SmallVector<Token, 4> Toks; in ReadToken()
1843 Info->Toks = llvm::ArrayRef(Toks).copy(PP.getPreprocessorAllocator()); in ReadToken()
1849 Info->Action = static_cast<Sema::PragmaMsStackAction>(Record[Idx++]); in ReadToken()
1851 Info->SlotLabel = in ReadToken()
1853 Info->Alignment = ReadToken(M, Record, Idx); in ReadToken()
1942 MI->setDefinitionEndLoc(ReadSourceLocation(F, Record, NextIndex)); in ReadMacroRecord()
1943 MI->setIsUsed(Record[NextIndex++]); in ReadMacroRecord()
1944 MI->setUsedForHeaderGuard(Record[NextIndex++]); in ReadMacroRecord()
1945 MacroTokens = MI->allocateTokens(Record[NextIndex++], in ReadMacroRecord()
1948 // Decode function-like macro info. in ReadMacroRecord()
1957 // Install function-like macro info. in ReadMacroRecord()
1958 MI->setIsFunctionLike(); in ReadMacroRecord()
1959 if (isC99VarArgs) MI->setIsC99Varargs(); in ReadMacroRecord()
1960 if (isGNUVarArgs) MI->setIsGNUVarargs(); in ReadMacroRecord()
1961 if (hasCommaPasting) MI->setHasCommaPasting(); in ReadMacroRecord()
1962 MI->setParameterList(MacroParams, PP.getPreprocessorAllocator()); in ReadMacroRecord()
1976 PPRec.getPPEntityID(GlobalID - 1, /*isLoaded=*/true); in ReadMacroRecord()
2012 I = M.PreprocessedEntityRemap.find(LocalID - NUM_PREDEF_PP_ENTITY_IDS); in getGlobalPreprocessedEntityID()
2016 return LocalID + I->second; in getGlobalPreprocessedEntityID()
2098 HFI.isPragmaOnce |= (Flags >> 4) & 0x01; in ReadData()
2107 StringRef FrameworkName(FrameworkStrings + FrameworkOffset - 1); in ReadData()
2108 HFI.Framework = HS->getUniqueFrameworkName(FrameworkName); in ReadData()
2111 assert((End - d) % 4 == 0 && in ReadData()
2198 if (II->isOutOfDate()) in ReadDefinedMacros()
2245 ASTIdentifierLookupTrait Trait(IdTable->getInfoObj().getReader(), M, in operator ()()
2249 IdTable->find_hashed(Name, NameHash, &Trait); in operator ()()
2250 if (Pos == IdTable->end()) in operator ()()
2281 if (GlobalIndex->lookupIdentifier(II.getName(), Hits)) { in updateOutOfDateIdentifier()
2297 const_cast<IdentifierInfo *>(II)->setOutOfDate(false); in markIdentifierUpToDate()
2395 // Deserialize the macro directives history in reverse source-order. in resolvePendingMacro()
2420 Earliest->setPrevious(MD); in resolvePendingMacro()
2457 if (!F.InputFileInfosLoaded[ID - 1].Filename.empty()) in getInputFileInfo()
2458 return F.InputFileInfosLoaded[ID - 1]; in getInputFileInfo()
2464 F.InputFileOffsets[ID - 1])) { in getInputFileInfo()
2491 R.Transient = static_cast<bool>(Record[4]); in getInputFileInfo()
2528 F.InputFileInfosLoaded[ID - 1] = R; in getInputFileInfo()
2539 if (F.InputFilesLoaded[ID-1].getFile()) in getInputFile()
2540 return F.InputFilesLoaded[ID-1]; in getInputFile()
2542 if (F.InputFilesLoaded[ID-1].isNotFound()) in getInputFile()
2549 F.InputFileOffsets[ID - 1])) { in getInputFile()
2592 F.InputFilesLoaded[ID-1] = InputFile::getNotFound(); in getInputFile()
2611 F.InputFilesLoaded[ID - 1] = InputFile::getNotFound(); in getInputFile()
2639 ErrorStr += File->getName(); in getInputFile()
2645 auto ContentHash = xxh3_64bits(MemBuffOrError.get()->getBuffer()); in getInputFile()
2652 if (StoredSize != File->getSize()) in getInputFile()
2653 return Change{Change::Size, StoredSize, File->getSize()}; in getInputFile()
2655 StoredTime != File->getModificationTime()) { in getInputFile()
2657 File->getModificationTime()}; in getInputFile()
2690 SmallVector<ModuleFile *, 4> ImportStack(1, &F); in getInputFile()
2691 while (!ImportStack.back()->ImportedBy.empty()) in getInputFile()
2692 ImportStack.push_back(ImportStack.back()->ImportedBy[0]); in getInputFile()
2694 // The top-level PCH is stale. in getInputFile()
2695 StringRef TopLevelPCHName(ImportStack.back()->FileName); in getInputFile()
2697 << Filename << moduleKindForDiagnostic(ImportStack.back()->Kind) in getInputFile()
2706 << Filename << ImportStack[0]->FileName; in getInputFile()
2709 << ImportStack[I-1]->FileName << ImportStack[I]->FileName; in getInputFile()
2723 F.InputFilesLoaded[ID-1] = IF; in getInputFile()
2738 Filename == "<built-in>" || Filename == "<command line>") in ResolveImportedPath()
2931 Listener->visitModuleFile(F.FileName, F.Kind); in ReadControlBlock()
2933 if (Listener && Listener->needsInputFileVisitation()) { in ReadControlBlock()
2934 unsigned N = Listener->needsSystemInputFileVisitation() ? NumInputs in ReadControlBlock()
2939 Listener->visitInputFile( in ReadControlBlock()
2972 // FIXME: Allow this for files explicitly specified with -include-pch. in ReadControlBlock()
3034 // or compiled, mark modules on error as out-of-date. in ReadControlBlock()
3050 F.RelocatablePCH = Record[4]; in ReadControlBlock()
3071 // them can be error-prone and expensive). A module will have a name and in ReadControlBlock()
3179 << (ImportedBy ? StringRef(ImportedBy->ModuleName) : StringRef()); in ReadControlBlock()
3181 Listener->ReadModuleName(F.ModuleName); in ReadControlBlock()
3204 if (M && M->Directory) { in ReadControlBlock()
3207 // Don't emit module relocation error if we have -fno-validate-pch in ReadControlBlock()
3212 if (!BuildDir || *BuildDir != M->Directory) { in ReadControlBlock()
3215 << F.ModuleName << Blob << M->Directory->getName(); in ReadControlBlock()
3219 F.BaseDirectory = std::string(M->Directory->getName()); in ReadControlBlock()
3271 DeclContext *DC = Ctx->getTranslationUnitDecl(); in ReadASTBlock()
3272 if (DC->hasExternalLexicalStorage() && !Ctx->getLangOpts().CPlusPlus) in ReadASTBlock()
3273 DC->setMustBuildLookupTable(); in ReadASTBlock()
3319 if (!PP.getPreprocessingRecord()->getExternalSource()) in ReadASTBlock()
3320 PP.getPreprocessingRecord()->SetExternalSource(*this); in ReadASTBlock()
3423 DeclContext *TU = ContextObj->getTranslationUnitDecl(); in ReadASTBlock()
3428 TU->setHasExternalLexicalStorage(true); in ReadASTBlock()
3503 "invalid special-types record"); in ReadASTBlock()
3536 // FIXME: Ignore weak undeclared identifiers from non-original PCH in ReadASTBlock()
3558 // Introduce the global -> local mapping for selectors within this in ReadASTBlock()
3562 // Introduce the local -> global mapping for selectors within this in ReadASTBlock()
3566 F.BaseSelectorID - LocalBaseSelectorID)); in ReadASTBlock()
3586 for (unsigned Idx = 0, N = Record.size() - 1; Idx < N; /* in loop */) { in ReadASTBlock()
3616 unsigned Idx = 0, End = Record.size() - 1; in ReadASTBlock()
3628 SmallVector<PPConditionalInfo, 4> ConditionalStack; in ReadASTBlock()
3643 Listener->ReadCounter(F, Record[0]); in ReadASTBlock()
3671 unsigned(-F.SLocEntryBaseID) - F.LocalNumSLocEntries + 1; in ReadASTBlock()
3678 std::make_pair(SourceManager::MaxLoadedOffset - F.SLocEntryBaseOffset in ReadASTBlock()
3679 - SLocSpaceSize,&F)); in ReadASTBlock()
3748 if (!PP.getPreprocessingRecord()->getExternalSource()) in ReadASTBlock()
3749 PP.getPreprocessingRecord()->SetExternalSource(*this); in ReadASTBlock()
3752 ->allocateLoadedEntities(F.NumPreprocessedEntities); in ReadASTBlock()
3756 // Introduce the global -> local mapping for preprocessed entities in in ReadASTBlock()
3760 // Introduce the local -> global mapping for preprocessed entities in in ReadASTBlock()
3764 F.BasePreprocessedEntityID - LocalBasePreprocessedEntityID)); in ReadASTBlock()
3777 if (!PP.getPreprocessingRecord()->getExternalSource()) in ReadASTBlock()
3778 PP.getPreprocessingRecord()->SetExternalSource(*this); in ReadASTBlock()
3780 ->allocateSkippedRanges(F.NumPreprocessedSkippedRanges); in ReadASTBlock()
3903 "invalid undefined-but-used record"); in ReadASTBlock()
3935 // FIXME: Deal with macros-only imports. in ReadASTBlock()
3942 DeserializationListener->ModuleImportRead(GlobalID, Loc); in ReadASTBlock()
3960 // Introduce the global -> local mapping for macros within this module. in ReadASTBlock()
3963 // Introduce the local -> global mapping for macros within this module. in ReadASTBlock()
3966 F.BaseMacroID - LocalBaseMacroID)); in ReadASTBlock()
4120 static_cast<int>(BaseOffset - Offset))); in ReadModuleOffsetMap()
4123 mapOffset(MacroIDOffset, OM->BaseMacroID, MacroRemap); in ReadModuleOffsetMap()
4124 mapOffset(PreprocessedEntityIDOffset, OM->BasePreprocessedEntityID, in ReadModuleOffsetMap()
4126 mapOffset(SubmoduleIDOffset, OM->BaseSubmoduleID, SubmoduleRemap); in ReadModuleOffsetMap()
4127 mapOffset(SelectorIDOffset, OM->BaseSelectorID, SelectorRemap); in ReadModuleOffsetMap()
4140 // top-level AST file is a main file, skip this check because there is no in ReadModuleMapFileBlock()
4145 F.Kind == MK_ImplicitModule && ModuleMgr.begin()->Kind != MK_MainFile) { in ReadModuleMapFileBlock()
4146 // An implicitly-loaded module file should have its module listed in some in ReadModuleMapFileBlock()
4153 // Don't emit module relocation error if we have -fno-validate-pch in ReadModuleMapFileBlock()
4158 if (auto ASTFE = M ? M->getASTFile() : std::nullopt) { in ReadModuleMapFileBlock()
4161 << ASTFE->getName(); in ReadModuleMapFileBlock()
4166 << (ImportedBy ? ImportedBy->FileName : "") << F.ModuleMapPath in ReadModuleMapFileBlock()
4171 if (ImportedBy && ImportedBy->Kind == MK_PCH) in ReadModuleMapFileBlock()
4179 assert(M && M->Name == F.ModuleName && "found module with different name"); in ReadModuleMapFileBlock()
4186 "top-level import should be verified"); in ReadModuleMapFileBlock()
4190 << F.ModuleName << (NotImported ? F.FileName : ImportedBy->FileName) in ReadModuleMapFileBlock()
4191 << ModMap->getName() << F.ModuleMapPath << NotImported; in ReadModuleMapFileBlock()
4234 Listener->ReadModuleMapFile(F.ModuleMapPath); in ReadModuleMapFileBlock()
4242 S.ObjC().MethodPool.find(Method->getSelector()); in moveMethodToBackOfGlobalList()
4247 ObjCMethodList &Start = Method->isInstanceMethod()? Known->second.first in moveMethodToBackOfGlobalList()
4248 : Known->second.second; in moveMethodToBackOfGlobalList()
4250 for (ObjCMethodList *List = &Start; List; List = List->getNext()) { in moveMethodToBackOfGlobalList()
4252 if (List->getMethod() == Method) { in moveMethodToBackOfGlobalList()
4260 if (List->getNext()) in moveMethodToBackOfGlobalList()
4261 List->setMethod(List->getNext()->getMethod()); in moveMethodToBackOfGlobalList()
4263 List->setMethod(Method); in moveMethodToBackOfGlobalList()
4268 assert(Owner->NameVisibility != Module::Hidden && "nothing to make visible?"); in makeNamesVisible()
4270 bool wasHidden = !D->isUnconditionallyVisible(); in makeNamesVisible()
4271 D->setVisibleDespiteOwningModule(); in makeNamesVisible()
4284 llvm::SmallPtrSet<Module *, 4> Visited; in makeModuleVisible()
4285 SmallVector<Module *, 4> Stack; in makeModuleVisible()
4290 if (NameVisibility <= Mod->NameVisibility) { in makeModuleVisible()
4296 if (Mod->isUnimportable()) { in makeModuleVisible()
4302 Mod->NameVisibility = NameVisibility; in makeModuleVisible()
4317 Mod->getExportedModules(Exports); in makeModuleVisible()
4332 if (!Def->isUnconditionallyVisible()) { in mergeDefinitionVisibility()
4334 if (MergedDef->isUnconditionallyVisible()) in mergeDefinitionVisibility()
4335 Def->setVisibleDespiteOwningModule(); in mergeDefinitionVisibility()
4338 Def, MergedDef->getImportedOwningModule(), in mergeDefinitionVisibility()
4407 // Ignore top-level records. in SkipCursorToBlock()
4455 SmallVector<ImportedModule, 4> Loaded; in ReadAST()
4463 // to be out-of-date. Just remove it. in ReadAST()
4531 // instance are marked out-of-date so that they can be deserialized in ReadAST()
4539 II = It->second; in ReadAST()
4543 // table of the importing instance and marked as out-of-date. This makes in ReadAST()
4544 // ASTReader::get() a no-op, and deserialization will take place on in ReadAST()
4549 II->setOutOfDate(true); in ReadAST()
4562 // identifiers as out-of-date, so that they are deserialized on first use. in ReadAST()
4565 Id.second->setOutOfDate(true); in ReadAST()
4600 Unresolved.Mod->Conflicts.push_back(Conflict); in ReadAST()
4606 Unresolved.Mod->Imports.insert(ResolvedMod); in ReadAST()
4611 Unresolved.Mod->AffectingClangModules.insert(ResolvedMod); in ReadAST()
4616 Unresolved.Mod->Exports.push_back( in ReadAST()
4634 DeserializationListener->ReaderInitialized(this); in ReadAST()
4648 // For any Objective-C class definitions we have already loaded, make sure in ReadAST()
4652 loadObjCCategories(ObjCClassesLoaded[I]->getGlobalID(), in ReadAST()
4660 // up-to-date. For implicitly-built module files, ensure the corresponding in ReadAST()
4661 // timestamp files are up-to-date in this build session. in ReadAST()
4664 if (M.Mod->Kind == MK_ImplicitModule && in ReadAST()
4665 M.Mod->InputFilesValidationTimestamp < HSOpts.BuildSessionTimestamp) in ReadAST()
4680 if (!Stream.canSkipToPos(4)) in doesntStartWithASTFileMagic()
4729 << M->ModuleName << M->FileName << (ImportedBy ? true : false) in ReadASTCore()
4730 << (ImportedBy ? StringRef(ImportedBy->ModuleName) : StringRef()); in ReadASTCore()
4750 // We couldn't load the module file because it is out-of-date. If the in ReadASTCore()
4751 // client can handle out-of-date, return it. in ReadASTCore()
4775 F.SizeInBits = F.Buffer->getBufferSize() * 8; in ReadASTCore()
4798 Error("invalid record at top-level of AST file"); in ReadASTCore()
4810 // Check that we didn't try to load a non-module AST file as a module. in ReadASTCore()
4892 // If -Wno-system-headers (the default), and the first import is as a in readUnhashedControlBlock()
4893 // system module, then validation will fail during the as-user import, in readUnhashedControlBlock()
4894 // since -Werror flags won't have been validated. However, it's reasonable in readUnhashedControlBlock()
4897 // If -Wsystem-headers, the PCM on disk was built with in readUnhashedControlBlock()
4898 // -Wno-system-headers, and the first import is as a user module, then in readUnhashedControlBlock()
4899 // validation will fail during the as-system import since the PCM on disk in readUnhashedControlBlock()
4900 // doesn't guarantee that -Werror was respected. However, the -Werror in readUnhashedControlBlock()
4901 // flags were checked during the initial as-user import. in readUnhashedControlBlock()
4966 F->Signature = ASTFileSignature::create(Blob.begin(), Blob.end()); in readUnhashedControlBlockImpl()
4967 assert(F->Signature != ASTFileSignature::createDummy() && in readUnhashedControlBlockImpl()
4973 F->ASTBlockHash = ASTFileSignature::create(Blob.begin(), Blob.end()); in readUnhashedControlBlockImpl()
4974 assert(F->ASTBlockHash != ASTFileSignature::createDummy() && in readUnhashedControlBlockImpl()
4996 if (F->PragmaDiagMappings.empty()) in readUnhashedControlBlockImpl()
4997 F->PragmaDiagMappings.swap(Record); in readUnhashedControlBlockImpl()
4999 F->PragmaDiagMappings.insert(F->PragmaDiagMappings.end(), in readUnhashedControlBlockImpl()
5004 F->SearchPathUsage = ReadBitVector(Record, Blob); in readUnhashedControlBlockImpl()
5008 F->VFSUsage = ReadBitVector(Record, Blob); in readUnhashedControlBlockImpl()
5019 if (Record.size() < 4) return true; in parseModuleFileExtensionMetadata()
5078 if (auto Reader = Known->second->createExtensionReader(Metadata, *this, in ReadExtensionBlock()
5097 DeserializationListener->DeclRead( in InitializeContext()
5102 // built-in types. Right now, we just ignore the problem. in InitializeContext()
5119 if (const TypedefType *Typedef = FileType->getAs<TypedefType>()) in InitializeContext()
5120 Context.setFILEDecl(Typedef->getDecl()); in InitializeContext()
5122 const TagType *Tag = FileType->getAs<TagType>(); in InitializeContext()
5127 Context.setFILEDecl(Tag->getDecl()); in InitializeContext()
5140 if (const TypedefType *Typedef = Jmp_bufType->getAs<TypedefType>()) in InitializeContext()
5141 Context.setjmp_bufDecl(Typedef->getDecl()); in InitializeContext()
5143 const TagType *Tag = Jmp_bufType->getAs<TagType>(); in InitializeContext()
5148 Context.setjmp_bufDecl(Tag->getDecl()); in InitializeContext()
5161 if (const TypedefType *Typedef = Sigjmp_bufType->getAs<TypedefType>()) in InitializeContext()
5162 Context.setsigjmp_bufDecl(Typedef->getDecl()); in InitializeContext()
5164 const TagType *Tag = Sigjmp_bufType->getAs<TagType>(); in InitializeContext()
5166 Context.setsigjmp_bufDecl(Tag->getDecl()); in InitializeContext()
5196 if (const TypedefType *Typedef = Ucontext_tType->getAs<TypedefType>()) in InitializeContext()
5197 Context.setucontext_tDecl(Typedef->getDecl()); in InitializeContext()
5199 const TagType *Tag = Ucontext_tType->getAs<TagType>(); in InitializeContext()
5201 Context.setucontext_tDecl(Tag->getDecl()); in InitializeContext()
5216 // Re-export any modules that were imported by a non-module AST file. in InitializeContext()
5217 // FIXME: This does not make macro-only imports visible again. in InitializeContext()
5800 SubmoduleID GlobalIndex = GlobalID - NUM_PREDEF_SUBMODULE_IDS; in ReadSubmoduleBlock()
5807 if (OptionalFileEntryRef CurFile = CurrentModule->getASTFile()) { in ReadSubmoduleBlock()
5808 // Don't emit module relocation error if we have -fno-validate-pch in ReadSubmoduleBlock()
5814 ContextObj->DiagAllocator) in ReadSubmoduleBlock()
5815 << CurrentModule->getTopLevelModuleName() << CurFile->getName() in ReadSubmoduleBlock()
5822 CurrentModule->setASTFile(F.File); in ReadSubmoduleBlock()
5823 CurrentModule->PresumedModuleMapFile = F.ModuleMapPath; in ReadSubmoduleBlock()
5826 CurrentModule->Kind = Kind; in ReadSubmoduleBlock()
5827 CurrentModule->DefinitionLoc = DefinitionLoc; in ReadSubmoduleBlock()
5828 CurrentModule->Signature = F.Signature; in ReadSubmoduleBlock()
5829 CurrentModule->IsFromModuleFile = true; in ReadSubmoduleBlock()
5830 CurrentModule->IsSystem = IsSystem || CurrentModule->IsSystem; in ReadSubmoduleBlock()
5831 CurrentModule->IsExternC = IsExternC; in ReadSubmoduleBlock()
5832 CurrentModule->InferSubmodules = InferSubmodules; in ReadSubmoduleBlock()
5833 CurrentModule->InferExplicitSubmodules = InferExplicitSubmodules; in ReadSubmoduleBlock()
5834 CurrentModule->InferExportWildcard = InferExportWildcard; in ReadSubmoduleBlock()
5835 CurrentModule->ConfigMacrosExhaustive = ConfigMacrosExhaustive; in ReadSubmoduleBlock()
5836 CurrentModule->ModuleMapIsPrivate = ModuleMapIsPrivate; in ReadSubmoduleBlock()
5837 CurrentModule->NamedModuleHasInit = NamedModuleHasInit; in ReadSubmoduleBlock()
5839 DeserializationListener->ModuleRead(GlobalID, CurrentModule); in ReadSubmoduleBlock()
5844 CurrentModule->LinkLibraries.clear(); in ReadSubmoduleBlock()
5845 CurrentModule->ConfigMacros.clear(); in ReadSubmoduleBlock()
5846 CurrentModule->UnresolvedConflicts.clear(); in ReadSubmoduleBlock()
5847 CurrentModule->Conflicts.clear(); in ReadSubmoduleBlock()
5850 // requirements will be (re-)added by SUBMODULE_REQUIRES records. in ReadSubmoduleBlock()
5852 // make it unavailable -- if we got this far, this must be an explicitly in ReadSubmoduleBlock()
5854 CurrentModule->Requirements.clear(); in ReadSubmoduleBlock()
5855 CurrentModule->MissingHeaders.clear(); in ReadSubmoduleBlock()
5856 CurrentModule->IsUnimportable = in ReadSubmoduleBlock()
5857 ParentModule && ParentModule->IsUnimportable; in ReadSubmoduleBlock()
5858 CurrentModule->IsAvailable = !CurrentModule->IsUnimportable; in ReadSubmoduleBlock()
5869 if (!CurrentModule->getUmbrellaHeaderAsWritten()) { in ReadSubmoduleBlock()
5885 // FIXME: Re-evaluate this section; maybe only store InputFile IDs instead in ReadSubmoduleBlock()
5898 CurrentModule->addTopHeaderFilename(HeaderName); in ReadSubmoduleBlock()
5908 if (!CurrentModule->getUmbrellaDirAsWritten()) { in ReadSubmoduleBlock()
5921 // Introduce the global -> local mapping for submodules within this in ReadSubmoduleBlock()
5925 // Introduce the local -> global mapping for submodules within this in ReadSubmoduleBlock()
5929 F.BaseSubmoduleID - LocalBaseSubmoduleID)); in ReadSubmoduleBlock()
5973 CurrentModule->UnresolvedExports.clear(); in ReadSubmoduleBlock()
5977 CurrentModule->addRequirement(Blob, Record[0], PP.getLangOpts(), in ReadSubmoduleBlock()
5983 CurrentModule->LinkLibraries.push_back( in ReadSubmoduleBlock()
5988 CurrentModule->ConfigMacros.push_back(Blob.str()); in ReadSubmoduleBlock()
6009 ContextObj->addLazyModuleInitializers(CurrentModule, Inits); in ReadSubmoduleBlock()
6014 CurrentModule->ExportAsModule = Blob.str(); in ReadSubmoduleBlock()
6043 for (unsigned N = Record[Idx++]; N; --N) in ParseLanguageOptions()
6053 for (unsigned N = Record[Idx++]; N; --N) { in ParseLanguageOptions()
6060 for (unsigned N = Record[Idx++]; N; --N) { in ParseLanguageOptions()
6079 for (unsigned N = Record[Idx++]; N; --N) { in ParseTargetOptions()
6082 for (unsigned N = Record[Idx++]; N; --N) { in ParseTargetOptions()
6094 #define DIAGOPT(Name, Bits, Default) DiagOpts->Name = Record[Idx++]; in ParseDiagnosticOptions()
6096 DiagOpts->set##Name(static_cast<Type>(Record[Idx++])); in ParseDiagnosticOptions()
6099 for (unsigned N = Record[Idx++]; N; --N) in ParseDiagnosticOptions()
6100 DiagOpts->Warnings.push_back(ReadString(Record, Idx)); in ParseDiagnosticOptions()
6101 for (unsigned N = Record[Idx++]; N; --N) in ParseDiagnosticOptions()
6102 DiagOpts->Remarks.push_back(ReadString(Record, Idx)); in ParseDiagnosticOptions()
6145 for (unsigned N = Record[Idx++]; N; --N) { in ParseHeaderSearchPaths()
6156 for (unsigned N = Record[Idx++]; N; --N) { in ParseHeaderSearchPaths()
6163 for (unsigned N = Record[Idx++]; N; --N) { in ParseHeaderSearchPaths()
6181 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
6189 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
6194 for (unsigned N = Record[Idx++]; N; --N) { in ParsePreprocessorOptions()
6214 ModuleFile *M = I->second; in getModulePreprocessedEntity()
6215 unsigned LocalIndex = GlobalIndex - M->BasePreprocessedEntityID; in getModulePreprocessedEntity()
6222 return PPRec->getIteratorsForLoadedRange(Mod.BasePreprocessedEntityID, in getModulePreprocessedEntities()
6247 ModuleFile *M = I->second; in ReadSkippedRange()
6248 unsigned LocalIndex = GlobalIndex - M->BasePreprocessedSkippedRangeID; in ReadSkippedRange()
6249 assert(LocalIndex < M->NumPreprocessedSkippedRanges); in ReadSkippedRange()
6250 PPSkippedRange RawRange = M->PreprocessedSkippedRangeOffsets[LocalIndex]; in ReadSkippedRange()
6310 PPRec.getLoadedPreprocessedEntity(GlobalID - 1)); in ReadPreprocessedEntity()
6329 DeserializationListener->MacroDefinitionRead(PPID, MD); in ReadPreprocessedEntity()
6336 StringRef FullFileName(FullFileNameStart, Blob.size() - Record[0]); in ReadPreprocessedEntity()
6368 ModuleFile &M = *SLocMapI->second; in findNextPreprocessedEntity()
6413 SourceManager::MaxLoadedOffset - Loc.getOffset() - 1); in findPreprocessedEntity()
6417 if (SLocMapI->second->NumPreprocessedEntities == 0) in findPreprocessedEntity()
6420 ModuleFile &M = *SLocMapI->second; in findPreprocessedEntity()
6445 ReadSourceLocation(M, PPI->getEnd()), Loc)) { in findPreprocessedEntity()
6448 Count = Count - Half - 1; in findPreprocessedEntity()
6457 return M.BasePreprocessedEntityID + (PPI - pp_begin); in findPreprocessedEntity()
6512 // Look in the on-disk hash table for an entry for this file name. in operator ()()
6513 HeaderFileInfoLookupTable::iterator Pos = Table->find(FE); in operator ()()
6514 if (Pos == Table->end()) in operator ()()
6551 return DiagStates[BackrefID - 1]; in ReadPragmaDiagnosticMappings()
6560 while (Size--) { in ReadPragmaDiagnosticMappings()
6567 DiagnosticMapping &Mapping = NewState->getOrAddMapping(DiagID); in ReadPragmaDiagnosticMappings()
6585 // Implicitly-built modules are reused with different diagnostic in ReadPragmaDiagnosticMappings()
6599 // command line (-w, -Weverything, -Werror, ...) along with any explicit in ReadPragmaDiagnosticMappings()
6600 // -Wblah flags. in ReadPragmaDiagnosticMappings()
6627 while (NumLocations--) { in ReadPragmaDiagnosticMappings()
6675 return RecordLocation(M, M->TypeOffsets[Index - M->BaseTypeIndex].get() + in TypeCursorForIndex()
6676 M->DeclsBlockStartOffset); in TypeCursorForIndex()
6699 BitstreamCursor &DeclsCursor = Loc.F->DeclsCursor; in readTypeRecord()
6769 // We want compile-time assurance that we've enumerated all of
6771 // define them out-of-line.
7033 TL.getTypePtr()->template_arguments()[i].getKind())); in VisitTemplateSpecializationTypeLoc()
7067 TL.getTypePtr()->template_arguments()[I].getKind())); in VisitDependentTemplateSpecializationTypeLoc()
7135 readTypeLoc(TInfo->getTypeLoc()); in readTypeSourceInfo()
7160 ModuleFile *OwningModuleFile = &getModuleManager()[ModuleFileIndex - 1]; in translateTypeIDToIndex()
7165 OwningModuleFile->BaseTypeIndex + getIndexForTypeID(ID)}; in translateTypeIDToIndex()
7451 assert(Index < TypesLoaded.size() && "Type index out-of-range"); in GetType()
7457 TypesLoaded[Index]->setFromAST(); in GetType()
7459 DeserializationListener->TypeRead(TypeIdx::fromTypeID(ID), in GetType()
7482 LocalID -= NUM_PREDEF_TYPE_IDS << Qualifiers::FastWidth; in getGlobalTypeID()
7485 ModuleFileIndex ? *F.TransitiveImports[ModuleFileIndex - 1] : F; in getGlobalTypeID()
7561 if (!D->getDeclContext()) { in CompleteRedeclChain()
7566 const DeclContext *DC = D->getDeclContext()->getRedeclContext(); in CompleteRedeclChain()
7574 if (DeclarationName Name = cast<NamedDecl>(D)->getDeclName()) { in CompleteRedeclChain()
7581 assert(II && "non-identifier name in C?"); in CompleteRedeclChain()
7582 if (II->isOutOfDate()) in CompleteRedeclChain()
7585 DC->lookup(Name); in CompleteRedeclChain()
7588 for (auto *DCDecl : cast<Decl>(D->getLexicalDeclContext())->redecls()) { in CompleteRedeclChain()
7592 DC, [&](Decl::Kind K) { return K == D->getKind(); }, Decls); in CompleteRedeclChain()
7598 CTSD->getSpecializedTemplate()->LoadLazySpecializations(); in CompleteRedeclChain()
7600 VTSD->getSpecializedTemplate()->LoadLazySpecializations(); in CompleteRedeclChain()
7602 if (auto *Template = FD->getPrimaryTemplate()) in CompleteRedeclChain()
7603 Template->LoadLazySpecializations(); in CompleteRedeclChain()
7610 BitstreamCursor &Cursor = Loc.F->DeclsCursor; in GetExternalCXXCtorInitializers()
7645 BitstreamCursor &Cursor = Loc.F->DeclsCursor; in GetExternalCXXBaseSpecifiers()
7696 : F.TransitiveImports[OwningModuleFileIndex - 1]; in getGlobalDeclID()
7699 ID -= NUM_PREDEF_DECL_IDS; in getGlobalDeclID()
7701 uint64_t NewModuleFileIndex = OwningModuleFile->Index + 1; in getGlobalDeclID()
7711 return M.Index == ModuleFileIndex - 1; in isDeclIDFromModule()
7722 return &getModuleManager()[ModuleFileIndex - 1]; in getOwningModuleFile()
7726 if (!D->isFromASTFile()) in getOwningModuleFile()
7729 return getOwningModuleFile(D->getGlobalID()); in getOwningModuleFile()
7737 return D->getLocation(); in getSourceLocationForDeclID()
7810 return OwningModuleFile->BaseDeclIndex + GlobalID.getLocalDeclIndex(); in translateGlobalDeclIDToIndex()
7820 // pre-existing predefined declaration \p D. in GetExistingDecl()
7821 auto &Merged = KeyDecls[D->getCanonicalDecl()]; in GetExistingDecl()
7831 assert(0 && "declaration ID out-of-range for AST file"); in GetExistingDecl()
7832 Error("declaration ID out-of-range for AST file"); in GetExistingDecl()
7846 assert(0 && "declaration ID out-of-range for AST file"); in GetDecl()
7847 Error("declaration ID out-of-range for AST file"); in GetDecl()
7854 DeserializationListener->DeclRead(ID, DeclsLoaded[Index]); in GetDecl()
7910 if (llvm::Error Err = Loc.F->DeclsCursor.JumpToBit(Loc.Offset)) { in GetExternalDeclStmt()
7944 assert(D->getKind() == K && "wrong kind for lexical decl"); in FindExternalLexicalDecls()
7945 if (!DC->isDeclInLexicalTraversal(D)) in FindExternalLexicalDecls()
7957 Visit(I->second.first, I->second.second); in FindExternalLexicalDecls()
8007 FileDeclsInfo &DInfo = I->second; in FindFileRegionDecls()
8019 --BeginIt; in FindFileRegionDecls()
8021 // If we are pointing at a top-level decl inside an objc container, we need in FindFileRegionDecls()
8027 ->isTopLevelDeclInObjCContainer()) in FindFileRegionDecls()
8028 --BeginIt; in FindFileRegionDecls()
8044 assert(DC->hasExternalVisibleStorage() && DC == DC->getPrimaryContext() && in FindExternalVisibleDeclsByName()
8059 for (GlobalDeclID ID : It->second.Table.find(Name)) { in FindExternalVisibleDeclsByName()
8061 if (ND->getDeclName() == Name && Found.insert(ND).second) in FindExternalVisibleDeclsByName()
8071 if (!DC->hasExternalVisibleStorage()) in completeVisibleDeclsMap()
8080 for (GlobalDeclID ID : It->second.Table.findAll()) { in completeVisibleDeclsMap()
8082 Decls[ND->getDeclName()].push_back(ND); in completeVisibleDeclsMap()
8088 SetExternalVisibleDeclsForName(DC, I->first, I->second); in completeVisibleDeclsMap()
8090 const_cast<DeclContext *>(DC)->setHasExternalVisibleStorage(false); in completeVisibleDeclsMap()
8096 return I == Lookups.end() ? nullptr : &I->second; in getLoadedLookupTables()
8099 /// Under non-PCH compilation the consumer receives the objc methods
8107 for (auto *I : ImplD->methods()) in PassObjCImplDeclToConsumer()
8108 Consumer->HandleInterestingDecl(DeclGroupRef(I)); in PassObjCImplDeclToConsumer()
8110 Consumer->HandleInterestingDecl(DeclGroupRef(ImplD)); in PassObjCImplDeclToConsumer()
8117 Consumer->HandleInterestingDecl(DeclGroupRef(D)); in PassInterestingDeclToConsumer()
8121 Consumer->HandleVTable(RD); in PassVTableToConsumer()
8125 this->Consumer = Consumer; in StartTranslationUnit()
8131 DeserializationListener->ReaderInitialized(this); in StartTranslationUnit()
8138 TypesLoaded.size() - llvm::count(TypesLoaded.materialized(), QualType()); in PrintStats()
8140 DeclsLoaded.size() - in PrintStats()
8143 IdentifiersLoaded.size() - in PrintStats()
8146 MacrosLoaded.size() - llvm::count(MacrosLoaded, (MacroInfo *)nullptr); in PrintStats()
8148 SelectorsLoaded.size() - llvm::count(SelectorsLoaded, Selector()); in PrintStats()
8214 GlobalIndex->printStats(); in PrintStats()
8235 llvm::errs() << " " << (DeclID)I->first << " -> " << I->second->FileName in dumpModuleIDMap()
8255 /// by heap-backed versus mmap'ed memory.
8259 size_t bytes = buf->getBufferSize(); in getMemoryBufferSizes()
8260 switch (buf->getBufferKind()) { in getMemoryBufferSizes()
8280 pushExternalDeclIntoScope(D, D->getDeclName()); in InitializeSema()
8289 SemaObj->CurFPFeatures = in InitializeSema()
8290 NewOverrides.applyOverrides(SemaObj->getLangOpts()); in InitializeSema()
8293 SemaObj->OpenCLFeatures = OpenCLExtensions; in InitializeSema()
8306 if (!SemaObj->StdNamespace) in UpdateSema()
8307 SemaObj->StdNamespace = SemaDeclRefs[I].getRawValue(); in UpdateSema()
8308 if (!SemaObj->StdBadAlloc) in UpdateSema()
8309 SemaObj->StdBadAlloc = SemaDeclRefs[I + 1].getRawValue(); in UpdateSema()
8310 if (!SemaObj->StdAlignValT) in UpdateSema()
8311 SemaObj->StdAlignValT = SemaDeclRefs[I + 2].getRawValue(); in UpdateSema()
8319 SemaObj->ActOnPragmaOptimize(/* On = */ false, OptimizeOffPragmaLocation); in UpdateSema()
8320 if (PragmaMSStructState != -1) in UpdateSema()
8321 SemaObj->ActOnPragmaMSStruct((PragmaMSStructKind)PragmaMSStructState); in UpdateSema()
8323 SemaObj->ActOnPragmaMSPointersToMembers( in UpdateSema()
8328 SemaObj->CUDA().ForceHostDeviceDepth = ForceHostDeviceDepth; in UpdateSema()
8338 SemaObj->AlignPackStack.DefaultValue && in UpdateSema()
8340 SemaObj->AlignPackStack.Stack.emplace_back( in UpdateSema()
8342 SemaObj->AlignPackStack.CurrentValue, in UpdateSema()
8343 SemaObj->AlignPackStack.CurrentPragmaLocation, in UpdateSema()
8349 SemaObj->AlignPackStack.Stack.emplace_back( in UpdateSema()
8354 SemaObj->AlignPackStack.DefaultValue && in UpdateSema()
8358 SemaObj->AlignPackStack.CurrentValue = *PragmaAlignPackCurrentValue; in UpdateSema()
8359 SemaObj->AlignPackStack.CurrentPragmaLocation = in UpdateSema()
8365 // to the current value to ensure that fp-pragma state is preserved after in UpdateSema()
8370 SemaObj->FpPragmaStack.DefaultValue && in UpdateSema()
8372 SemaObj->FpPragmaStack.Stack.emplace_back( in UpdateSema()
8373 FpPragmaStack.front().SlotLabel, SemaObj->FpPragmaStack.CurrentValue, in UpdateSema()
8374 SemaObj->FpPragmaStack.CurrentPragmaLocation, in UpdateSema()
8380 SemaObj->FpPragmaStack.Stack.emplace_back( in UpdateSema()
8383 assert(*FpPragmaCurrentValue == SemaObj->FpPragmaStack.DefaultValue && in UpdateSema()
8387 SemaObj->FpPragmaStack.CurrentValue = *FpPragmaCurrentValue; in UpdateSema()
8388 SemaObj->FpPragmaStack.CurrentPragmaLocation = FpPragmaCurrentLocation; in UpdateSema()
8392 // For non-modular AST files, restore visiblity of modules. in UpdateSema()
8397 SemaObj->makeModuleVisible(Imported, Import.ImportLoc); in UpdateSema()
8425 if (GlobalIndex->lookupIdentifier(Name, Hits)) { in get()
8440 /// An identifier-lookup iterator that enumerates all of the
8481 --Index; in Next()
8488 Current = IdTable->key_begin(); in Next()
8489 End = IdTable->key_end(); in Next()
8515 StringRef result = Current->Next(); in Next()
8533 GlobalIndex->createIdentifierIterator()); in getIdentifiers()
8552 SmallVector<ObjCMethodDecl *, 4> InstanceMethods;
8553 SmallVector<ObjCMethodDecl *, 4> FactoryMethods;
8571 ASTSelectorLookupTable::iterator Pos = PoolTable->find(Sel); in operator ()()
8572 if (Pos == PoolTable->end()) in operator ()()
8583 Reader.DeserializationListener->SelectorRead(Data.ID, Sel); in operator ()()
8655 Pos->second.first.setBits(Visitor.getInstanceBits()); in ReadMethodPool()
8656 Pos->second.first.setHasMoreThanOneDecl(Visitor.instanceHasMoreThanOneDecl()); in ReadMethodPool()
8657 Pos->second.second.setBits(Visitor.getFactoryBits()); in ReadMethodPool()
8658 Pos->second.second.setHasMoreThanOneDecl(Visitor.factoryHasMoreThanOneDecl()); in ReadMethodPool()
8663 addMethodsToPool(S, Visitor.getInstanceMethods(), Pos->second.first); in ReadMethodPool()
8664 addMethodsToPool(S, Visitor.getFactoryMethods(), Pos->second.second); in ReadMethodPool()
8695 FieldDecl *, llvm::SmallVector<std::pair<SourceLocation, bool>, 4>> & in ReadMismatchingDeleteExpressions()
8753 llvm::SmallSetVector<const TypedefNameDecl *, 4> &Decls) { in ReadUnusedLocalTypedefNameCandidates()
8765 llvm::SmallSetVector<Decl *, 4> &Decls) { in ReadDeclsToCheckForDeferredDiags()
8780 // implementation of -Wselector. in ReadReferencedSelectors()
8781 unsigned int DataSize = ReferencedSelectorsData.size()-1; in ReadReferencedSelectors()
8846 LT->D = ReadDecl(*FMod, LateParsed, Idx); in ReadLateParsedTemplates()
8847 LT->FPO = FPOptions::getFromOpaqueInt(LateParsed[Idx++]); in ReadLateParsedTemplates()
8849 ModuleFile *F = getOwningModuleFile(LT->D); in ReadLateParsedTemplates()
8853 LT->Toks.reserve(TokN); in ReadLateParsedTemplates()
8855 LT->Toks.push_back(ReadToken(*F, LateParsed, Idx)); in ReadLateParsedTemplates()
8865 if (Lambda->getLambdaContextDecl()) { in AssignedLambdaNumbering()
8869 {{Lambda->getLambdaContextDecl()->getCanonicalDecl(), in AssignedLambdaNumbering()
8870 Lambda->getLambdaIndexInContext()}, in AssignedLambdaNumbering()
8881 assert(ID && "Non-zero identifier ID required"); in SetIdentifierInfo()
8886 DeserializationListener->IdentifierRead(ID, II); in SetIdentifierInfo()
8889 /// Set the globally-visible declarations associated with the given
8896 /// \param II an IdentifierInfo that refers to one or more globally-visible
8902 /// \param Decls if non-null, this vector will be populated with the set of
8926 Decls->push_back(D); in SetGloballyVisibleDecls()
8930 // Introduce this declaration into the translation-unit scope in SetGloballyVisibleDecls()
8946 assert(getModuleManager().size() > ModuleFileIndex - 1); in translateIdentifierIDToIndex()
8948 ModuleFile &MF = getModuleManager()[ModuleFileIndex - 1]; in translateIdentifierIDToIndex()
8965 assert(Index >= M->BaseIdentifierID); in DecodeIdentifierInfo()
8966 unsigned LocalIndex = Index - M->BaseIdentifierID; in DecodeIdentifierInfo()
8968 M->IdentifierTableData + M->IdentifierOffsets[LocalIndex]; in DecodeIdentifierInfo()
8977 DeserializationListener->IdentifierRead(ID, &II); in DecodeIdentifierInfo()
8997 ModuleFileIndex ? M.TransitiveImports[ModuleFileIndex - 1] : &M; in getGlobalIdentifierID()
9001 LocalID -= NUM_PREDEF_IDENT_IDS; in getGlobalIdentifierID()
9003 return ((IdentifierID)(MF->Index + 1) << 32) | LocalID; in getGlobalIdentifierID()
9015 ID -= NUM_PREDEF_MACRO_IDS; in getMacro()
9020 ModuleFile *M = I->second; in getMacro()
9021 unsigned Index = ID - M->BaseMacroID; in getMacro()
9023 ReadMacroRecord(*M, M->MacroOffsetsBase + M->MacroOffsets[Index]); in getMacro()
9026 DeserializationListener->MacroRead(ID + NUM_PREDEF_MACRO_IDS, in getMacro()
9041 = M.MacroRemap.find(LocalID - NUM_PREDEF_MACRO_IDS); in getGlobalMacroID()
9044 return LocalID + I->second; in getGlobalMacroID()
9056 = M.SubmoduleRemap.find(LocalID - NUM_PREDEF_SUBMODULE_IDS); in getGlobalSubmoduleID()
9060 return LocalID + I->second; in getGlobalSubmoduleID()
9074 return SubmodulesLoaded[GlobalID - NUM_PREDEF_SUBMODULE_IDS]; in getSubmodule()
9085 return I == GlobalSubmoduleMap.end() ? nullptr : I->second; in getLocalModuleFile()
9090 return getModuleManager().pch_modules().end()[-IndexFromEnd]; in getLocalModuleFile()
9098 // For a file representing a module, use the submodule ID of the top-level in getModuleFileID()
9102 if (M->isModule()) in getModuleFileID()
9103 return ((M->BaseSubmoduleID + NUM_PREDEF_SUBMODULE_IDS) << 1) | 1; in getModuleFileID()
9108 return (I - PCHModules.end()) << 1; in getModuleFileID()
9133 return I->second ? EK_Never : EK_Always; in hasExternalDefinitions()
9149 if (SelectorsLoaded[ID - 1].getAsOpaquePtr() == nullptr) { in DecodeSelector()
9153 ModuleFile &M = *I->second; in DecodeSelector()
9155 unsigned Idx = ID - M.BaseSelectorID - NUM_PREDEF_SELECTOR_IDS; in DecodeSelector()
9156 SelectorsLoaded[ID - 1] = in DecodeSelector()
9159 DeserializationListener->SelectorRead(ID, SelectorsLoaded[ID - 1]); in DecodeSelector()
9162 return SelectorsLoaded[ID - 1]; in DecodeSelector()
9183 = M.SelectorRemap.find(LocalID - NUM_PREDEF_SELECTOR_IDS); in getGlobalSelectorID()
9187 return LocalID + I->second; in getGlobalSelectorID()
9249 while (NumParams--) in readTemplateParameterList()
9265 while (NumTemplateArgs--) in readTemplateArgumentList()
9273 while (NumDecls--) { in readUnresolvedSet()
9351 BOMInit->setSourceOrder(SourceOrder); in readCXXCtorInitializers()
9399 Template? T->getTypeLoc().getBeginLoc() : SourceLocation(), in readNestedNameSpecifierLoc()
9400 T->getTypeLoc(), ColonColonLoc); in readNestedNameSpecifierLoc()
9441 /// Read a floating-point value
9477 return VersionTuple(Major, Minor - 1); in ReadVersionTuple()
9478 return VersionTuple(Major, Minor - 1, Subminor - 1); in ReadVersionTuple()
9499 SemaObj->warnStackExhausted(Loc); in warnStackExhausted()
9516 /// Record that the given ID maps to the given switch-case
9524 /// Retrieve the switch-case statement with the given ID.
9531 CurrSwitchCaseStmts->clear(); in ClearSwitchCaseIDs()
9543 BitstreamCursor &Cursor = I->first; in ReadComments()
9544 serialization::ModuleFile &F = *I->second; in ReadComments()
9595 SourceLocation CommentLoc = C->getBeginLoc(); in ReadComments()
9656 // If any identifiers with corresponding top-level declarations have in finishPendingActions()
9664 SmallVector<GlobalDeclID, 4> DeclIDs = in finishPendingActions()
9675 FD->setType(GetType(PendingDeducedFunctionTypes[I].second)); in finishPendingActions()
9677 if (auto *DT = FD->getReturnType()->getContainedDeducedType()) { in finishPendingActions()
9680 if (DT->isDeduced()) { in finishPendingActions()
9682 {FD->getCanonicalDecl(), FD->getReturnType()}); in finishPendingActions()
9699 VD->setType(GetType(PendingDeducedVarTypes[I].second)); in finishPendingActions()
9716 // Make the most recent of the top-level declarations visible. in finishPendingActions()
9719 IdentifierInfo *II = TLD->first; in finishPendingActions()
9720 for (unsigned I = 0, N = TLD->second.size(); I != N; ++I) { in finishPendingActions()
9721 pushExternalDeclIntoScope(cast<NamedDecl>(TLD->second[I]), II); in finishPendingActions()
9730 // Initialize the macro history from chained-PCHs ahead of module imports. in finishPendingActions()
9734 if (!Info.M->isModule()) in finishPendingActions()
9741 if (Info.M->isModule()) in finishPendingActions()
9747 // Wire up the DeclContexts for Decls that we delayed setting until in finishPendingActions()
9754 Info.D->setDeclContextsImpl(SemaDC, LexicalDC, getContext()); in finishPendingActions()
9770 ExtensionsPair.first->getASTContext(), in finishPendingActions()
9771 ExtensionsPair.second->getASTContext(), NonEquivalentDecls, in finishPendingActions()
9780 Ivar->setDeclContextsImpl(PrevIvar->getDeclContext(), in finishPendingActions()
9781 Ivar->getLexicalDeclContext(), in finishPendingActions()
9783 getContext().setPrimaryMergedDecl(Ivar, PrevIvar->getCanonicalDecl()); in finishPendingActions()
9786 ExtensionsPair.first->setInvalidDecl(); in finishPendingActions()
9787 ExtensionsPair.second->getClassInterface() in finishPendingActions()
9788 ->getDefinition() in finishPendingActions()
9789 ->setIvarList(nullptr); in finishPendingActions()
9792 Diag(IvarPair.first->getLocation(), in finishPendingActions()
9794 << IvarPair.first->getIdentifier(); in finishPendingActions()
9795 Diag(IvarPair.second->getLocation(), diag::note_previous_definition); in finishPendingActions()
9807 // If we deserialized any C++ or Objective-C class definitions, any in finishPendingActions()
9808 // Objective-C protocol definitions, or any redeclarable templates, make sure in finishPendingActions()
9813 if (const TagType *TagT = dyn_cast<TagType>(TD->getTypeForDecl())) { in finishPendingActions()
9815 const_cast<TagType*>(TagT)->decl = TD; in finishPendingActions()
9820 R = R->getPreviousDecl()) { in finishPendingActions()
9822 cast<CXXRecordDecl>(R)->isThisDeclarationADefinition() && in finishPendingActions()
9824 cast<CXXRecordDecl>(R)->DefinitionData = RD->DefinitionData; in finishPendingActions()
9833 const_cast<ObjCInterfaceType *>(cast<ObjCInterfaceType>(ID->TypeForDecl)) in finishPendingActions()
9834 ->Decl = ID; in finishPendingActions()
9836 for (auto *R = getMostRecentExistingDecl(ID); R; R = R->getPreviousDecl()) in finishPendingActions()
9837 cast<ObjCInterfaceDecl>(R)->Data = ID->Data; in finishPendingActions()
9843 for (auto *R = getMostRecentExistingDecl(PD); R; R = R->getPreviousDecl()) in finishPendingActions()
9844 cast<ObjCProtocolDecl>(R)->Data = PD->Data; in finishPendingActions()
9849 auto RTD = cast<RedeclarableTemplateDecl>(D)->getCanonicalDecl(); in finishPendingActions() local
9850 for (auto *R = getMostRecentExistingDecl(RTD); R; R = R->getPreviousDecl()) in finishPendingActions()
9851 cast<RedeclarableTemplateDecl>(R)->Common = RTD->Common; in finishPendingActions()
9862 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(PB->first)) { in finishPendingActions()
9872 if (auto *RD = dyn_cast<CXXRecordDecl>(FD->getLexicalParent())) in finishPendingActions()
9873 if (RD->isDependentContext() && !RD->isThisDeclarationADefinition()) in finishPendingActions()
9878 if (!getContext().getLangOpts().Modules || !FD->hasBody(Defn)) { in finishPendingActions()
9879 FD->setLazyBody(PB->second); in finishPendingActions()
9884 if (!FD->isLateTemplateParsed() && in finishPendingActions()
9885 !NonConstDefn->isLateTemplateParsed() && in finishPendingActions()
9890 FD->getODRHash() != NonConstDefn->getODRHash()) { in finishPendingActions()
9893 } else if (FD->getLexicalParent()->isFileContext() && in finishPendingActions()
9894 NonConstDefn->getLexicalParent()->isFileContext()) { in finishPendingActions()
9895 // Only diagnose out-of-line method definitions. If they are in finishPendingActions()
9905 ObjCMethodDecl *MD = cast<ObjCMethodDecl>(PB->first); in finishPendingActions()
9906 if (!getContext().getLangOpts().Modules || !MD->hasBody()) in finishPendingActions()
9907 MD->setLazyBody(PB->second); in finishPendingActions()
9913 RD->addedMember(MD); in finishPendingActions()
9933 // odr-merging problems, so we can produce better diagnostics for them. in diagnoseOdrViolations()
9939 Merge.first->buildLookup(); in diagnoseOdrViolations()
9940 Merge.first->decls_begin(); in diagnoseOdrViolations()
9941 Merge.first->bases_begin(); in diagnoseOdrViolations()
9942 Merge.first->vbases_begin(); in diagnoseOdrViolations()
9945 RD->decls_begin(); in diagnoseOdrViolations()
9946 RD->bases_begin(); in diagnoseOdrViolations()
9947 RD->vbases_begin(); in diagnoseOdrViolations()
9955 Merge.first->decls_begin(); in diagnoseOdrViolations()
9957 D->decls_begin(); in diagnoseOdrViolations()
9965 Merge.first->decls_begin(); in diagnoseOdrViolations()
9967 InterfacePair.first->decls_begin(); in diagnoseOdrViolations()
9974 Merge.first->buildLookup(); in diagnoseOdrViolations()
9975 Merge.first->decls_begin(); in diagnoseOdrViolations()
9976 Merge.first->getBody(); in diagnoseOdrViolations()
9978 FD->buildLookup(); in diagnoseOdrViolations()
9979 FD->decls_begin(); in diagnoseOdrViolations()
9980 FD->getBody(); in diagnoseOdrViolations()
9988 Merge.first->decls_begin(); in diagnoseOdrViolations()
9990 Enum->decls_begin(); in diagnoseOdrViolations()
9999 Merge.first->decls_begin(); in diagnoseOdrViolations()
10001 ProtocolPair.first->decls_begin(); in diagnoseOdrViolations()
10009 // PendingOdrMergeChecks. Don't turn this into a range-based for loop! in diagnoseOdrViolations()
10014 // like implicitly-declared special member functions. This isn't entirely in diagnoseOdrViolations()
10017 if (D->isImplicit()) in diagnoseOdrViolations()
10020 DeclContext *CanonDef = D->getDeclContext(); in diagnoseOdrViolations()
10023 const Decl *DCanon = D->getCanonicalDecl(); in diagnoseOdrViolations()
10025 for (auto *RI : D->redecls()) { in diagnoseOdrViolations()
10026 if (RI->getLexicalDeclContext() == CanonDef) { in diagnoseOdrViolations()
10040 llvm::SmallVector<const NamedDecl*, 4> Candidates; in diagnoseOdrViolations()
10041 for (auto *CanonMember : CanonDef->decls()) { in diagnoseOdrViolations()
10042 if (CanonMember->getCanonicalDecl() == DCanon) { in diagnoseOdrViolations()
10052 if (ND->getDeclName() == D->getDeclName()) in diagnoseOdrViolations()
10060 D->setInvalidDecl(); in diagnoseOdrViolations()
10069 Diag(D->getLocation(), diag::err_module_odr_violation_missing_decl) in diagnoseOdrViolations()
10074 Diag(cast<Decl>(CanonDef)->getLocation(), in diagnoseOdrViolations()
10078 Diag(Candidates[I]->getLocation(), in diagnoseOdrViolations()
10096 // Issue any pending ODR-failure diagnostics. in diagnoseOdrViolations()
10120 Diag(Merge.first->getLocation(), in diagnoseOdrViolations()
10126 // Issue any pending ODR-failure diagnostics for RecordDecl in C/ObjC. Note in diagnoseOdrViolations()
10220 ReadTimer->startTimer(); in StartedDeserializing()
10228 // are finished, to avoid recursively re-calling finishPendingActions(). in FinishedDeserializing()
10231 --NumCurrentElementsDeserializing; in FinishedDeserializing()
10245 auto *FPT = Update.second->getType()->castAs<FunctionProtoType>(); in FinishedDeserializing()
10246 auto ESI = FPT->getExtProtoInfo().ExceptionSpec; in FinishedDeserializing()
10248 Listener->ResolvedExceptionSpec(cast<FunctionDecl>(Update.second)); in FinishedDeserializing()
10249 for (auto *Redecl : Update.second->redecls()) in FinishedDeserializing()
10267 (void)UndeducedFD->getMostRecentDecl(); in FinishedDeserializing()
10271 ReadTimer->stopTimer(); in FinishedDeserializing()
10287 for (auto *ND : It->second) in pushExternalDeclIntoScope()
10288 SemaObj->IdResolver.RemoveDecl(ND); in pushExternalDeclIntoScope()
10292 It->second.clear(); in pushExternalDeclIntoScope()
10296 if (SemaObj->IdResolver.tryAddTopLevelDecl(D, Name) && SemaObj->TUScope) { in pushExternalDeclIntoScope()
10297 SemaObj->TUScope->AddDecl(D); in pushExternalDeclIntoScope()
10298 } else if (SemaObj->TUScope) { in pushExternalDeclIntoScope()
10302 if (llvm::is_contained(SemaObj->IdResolver.decls(Name), D)) in pushExternalDeclIntoScope()
10303 SemaObj->TUScope->AddDecl(D); in pushExternalDeclIntoScope()
10334 auto BlockName = Ext->getExtensionMetadata().BlockName; in ASTReader()
10352 return SemaObj ? SemaObj->IdResolver : DummyIdResolver; in getIdResolver()
10361 //===----------------------------------------------------------------------===//
10363 ////===----------------------------------------------------------------------===//
10726 C->setLocStart(Record.readSourceLocation()); in readClause()
10727 C->setLocEnd(Record.readSourceLocation()); in readClause()
10733 C->setPreInitStmt(Record.readSubStmt(), in VisitOMPClauseWithPreInit()
10739 C->setPostUpdateExpr(Record.readSubExpr()); in VisitOMPClauseWithPostUpdate()
10744 C->setNameModifier(static_cast<OpenMPDirectiveKind>(Record.readInt())); in VisitOMPIfClause()
10745 C->setNameModifierLoc(Record.readSourceLocation()); in VisitOMPIfClause()
10746 C->setColonLoc(Record.readSourceLocation()); in VisitOMPIfClause()
10747 C->setCondition(Record.readSubExpr()); in VisitOMPIfClause()
10748 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPIfClause()
10753 C->setCondition(Record.readSubExpr()); in VisitOMPFinalClause()
10754 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFinalClause()
10759 C->setNumThreads(Record.readSubExpr()); in VisitOMPNumThreadsClause()
10760 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNumThreadsClause()
10764 C->setSafelen(Record.readSubExpr()); in VisitOMPSafelenClause()
10765 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPSafelenClause()
10769 C->setSimdlen(Record.readSubExpr()); in VisitOMPSimdlenClause()
10770 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPSimdlenClause()
10774 for (Expr *&E : C->getSizesRefs()) in VisitOMPSizesClause()
10776 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPSizesClause()
10782 C->setFactor(Record.readSubExpr()); in VisitOMPPartialClause()
10783 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPPartialClause()
10787 C->setAllocator(Record.readExpr()); in VisitOMPAllocatorClause()
10788 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAllocatorClause()
10792 C->setNumForLoops(Record.readSubExpr()); in VisitOMPCollapseClause()
10793 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPCollapseClause()
10797 C->setDefaultKind(static_cast<llvm::omp::DefaultKind>(Record.readInt())); in VisitOMPDefaultClause()
10798 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDefaultClause()
10799 C->setDefaultKindKwLoc(Record.readSourceLocation()); in VisitOMPDefaultClause()
10803 C->setProcBindKind(static_cast<llvm::omp::ProcBindKind>(Record.readInt())); in VisitOMPProcBindClause()
10804 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPProcBindClause()
10805 C->setProcBindKindKwLoc(Record.readSourceLocation()); in VisitOMPProcBindClause()
10810 C->setScheduleKind( in VisitOMPScheduleClause()
10812 C->setFirstScheduleModifier( in VisitOMPScheduleClause()
10814 C->setSecondScheduleModifier( in VisitOMPScheduleClause()
10816 C->setChunkSize(Record.readSubExpr()); in VisitOMPScheduleClause()
10817 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPScheduleClause()
10818 C->setFirstScheduleModifierLoc(Record.readSourceLocation()); in VisitOMPScheduleClause()
10819 C->setSecondScheduleModifierLoc(Record.readSourceLocation()); in VisitOMPScheduleClause()
10820 C->setScheduleKindLoc(Record.readSourceLocation()); in VisitOMPScheduleClause()
10821 C->setCommaLoc(Record.readSourceLocation()); in VisitOMPScheduleClause()
10825 C->setNumForLoops(Record.readSubExpr()); in VisitOMPOrderedClause()
10826 for (unsigned I = 0, E = C->NumberOfLoops; I < E; ++I) in VisitOMPOrderedClause()
10827 C->setLoopNumIterations(I, Record.readSubExpr()); in VisitOMPOrderedClause()
10828 for (unsigned I = 0, E = C->NumberOfLoops; I < E; ++I) in VisitOMPOrderedClause()
10829 C->setLoopCounter(I, Record.readSubExpr()); in VisitOMPOrderedClause()
10830 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPOrderedClause()
10834 C->setEventHandler(Record.readSubExpr()); in VisitOMPDetachClause()
10835 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDetachClause()
10849 if (C->isExtended()) { in VisitOMPUpdateClause()
10850 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPUpdateClause()
10851 C->setArgumentLoc(Record.readSourceLocation()); in VisitOMPUpdateClause()
10852 C->setDependencyKind(Record.readEnum<OpenMPDependClauseKind>()); in VisitOMPUpdateClause()
10863 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFailClause()
10865 C->setFailParameterLoc(FailParameterLoc); in VisitOMPFailClause()
10867 C->setFailParameter(CKind); in VisitOMPFailClause()
10889 unsigned NumVars = C->varlist_size(); in VisitOMPInitClause()
10894 C->setVarRefs(Vars); in VisitOMPInitClause()
10895 C->setIsTarget(Record.readBool()); in VisitOMPInitClause()
10896 C->setIsTargetSync(Record.readBool()); in VisitOMPInitClause()
10897 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPInitClause()
10898 C->setVarLoc(Record.readSourceLocation()); in VisitOMPInitClause()
10902 C->setInteropVar(Record.readSubExpr()); in VisitOMPUseClause()
10903 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPUseClause()
10904 C->setVarLoc(Record.readSourceLocation()); in VisitOMPUseClause()
10908 C->setInteropVar(Record.readSubExpr()); in VisitOMPDestroyClause()
10909 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDestroyClause()
10910 C->setVarLoc(Record.readSourceLocation()); in VisitOMPDestroyClause()
10915 C->setCondition(Record.readSubExpr()); in VisitOMPNovariantsClause()
10916 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNovariantsClause()
10921 C->setCondition(Record.readSubExpr()); in VisitOMPNocontextClause()
10922 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNocontextClause()
10938 C->setAtomicDefaultMemOrderKind( in VisitOMPAtomicDefaultMemOrderClause()
10940 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAtomicDefaultMemOrderClause()
10941 C->setAtomicDefaultMemOrderKindKwLoc(Record.readSourceLocation()); in VisitOMPAtomicDefaultMemOrderClause()
10945 C->setAtKind(static_cast<OpenMPAtClauseKind>(Record.readInt())); in VisitOMPAtClause()
10946 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAtClause()
10947 C->setAtKindKwLoc(Record.readSourceLocation()); in VisitOMPAtClause()
10951 C->setSeverityKind(static_cast<OpenMPSeverityClauseKind>(Record.readInt())); in VisitOMPSeverityClause()
10952 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPSeverityClause()
10953 C->setSeverityKindKwLoc(Record.readSourceLocation()); in VisitOMPSeverityClause()
10957 C->setMessageString(Record.readSubExpr()); in VisitOMPMessageClause()
10958 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPMessageClause()
10962 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPPrivateClause()
10963 unsigned NumVars = C->varlist_size(); in VisitOMPPrivateClause()
10968 C->setVarRefs(Vars); in VisitOMPPrivateClause()
10972 C->setPrivateCopies(Vars); in VisitOMPPrivateClause()
10977 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFirstprivateClause()
10978 unsigned NumVars = C->varlist_size(); in VisitOMPFirstprivateClause()
10983 C->setVarRefs(Vars); in VisitOMPFirstprivateClause()
10987 C->setPrivateCopies(Vars); in VisitOMPFirstprivateClause()
10991 C->setInits(Vars); in VisitOMPFirstprivateClause()
10996 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPLastprivateClause()
10997 C->setKind(Record.readEnum<OpenMPLastprivateModifier>()); in VisitOMPLastprivateClause()
10998 C->setKindLoc(Record.readSourceLocation()); in VisitOMPLastprivateClause()
10999 C->setColonLoc(Record.readSourceLocation()); in VisitOMPLastprivateClause()
11000 unsigned NumVars = C->varlist_size(); in VisitOMPLastprivateClause()
11005 C->setVarRefs(Vars); in VisitOMPLastprivateClause()
11009 C->setPrivateCopies(Vars); in VisitOMPLastprivateClause()
11013 C->setSourceExprs(Vars); in VisitOMPLastprivateClause()
11017 C->setDestinationExprs(Vars); in VisitOMPLastprivateClause()
11021 C->setAssignmentOps(Vars); in VisitOMPLastprivateClause()
11025 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPSharedClause()
11026 unsigned NumVars = C->varlist_size(); in VisitOMPSharedClause()
11031 C->setVarRefs(Vars); in VisitOMPSharedClause()
11036 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPReductionClause()
11037 C->setModifierLoc(Record.readSourceLocation()); in VisitOMPReductionClause()
11038 C->setColonLoc(Record.readSourceLocation()); in VisitOMPReductionClause()
11041 C->setQualifierLoc(NNSL); in VisitOMPReductionClause()
11042 C->setNameInfo(DNI); in VisitOMPReductionClause()
11044 unsigned NumVars = C->varlist_size(); in VisitOMPReductionClause()
11049 C->setVarRefs(Vars); in VisitOMPReductionClause()
11053 C->setPrivates(Vars); in VisitOMPReductionClause()
11057 C->setLHSExprs(Vars); in VisitOMPReductionClause()
11061 C->setRHSExprs(Vars); in VisitOMPReductionClause()
11065 C->setReductionOps(Vars); in VisitOMPReductionClause()
11066 if (C->getModifier() == OMPC_REDUCTION_inscan) { in VisitOMPReductionClause()
11070 C->setInscanCopyOps(Vars); in VisitOMPReductionClause()
11074 C->setInscanCopyArrayTemps(Vars); in VisitOMPReductionClause()
11078 C->setInscanCopyArrayElems(Vars); in VisitOMPReductionClause()
11084 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPTaskReductionClause()
11085 C->setColonLoc(Record.readSourceLocation()); in VisitOMPTaskReductionClause()
11088 C->setQualifierLoc(NNSL); in VisitOMPTaskReductionClause()
11089 C->setNameInfo(DNI); in VisitOMPTaskReductionClause()
11091 unsigned NumVars = C->varlist_size(); in VisitOMPTaskReductionClause()
11096 C->setVarRefs(Vars); in VisitOMPTaskReductionClause()
11100 C->setPrivates(Vars); in VisitOMPTaskReductionClause()
11104 C->setLHSExprs(Vars); in VisitOMPTaskReductionClause()
11108 C->setRHSExprs(Vars); in VisitOMPTaskReductionClause()
11112 C->setReductionOps(Vars); in VisitOMPTaskReductionClause()
11117 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPInReductionClause()
11118 C->setColonLoc(Record.readSourceLocation()); in VisitOMPInReductionClause()
11121 C->setQualifierLoc(NNSL); in VisitOMPInReductionClause()
11122 C->setNameInfo(DNI); in VisitOMPInReductionClause()
11124 unsigned NumVars = C->varlist_size(); in VisitOMPInReductionClause()
11129 C->setVarRefs(Vars); in VisitOMPInReductionClause()
11133 C->setPrivates(Vars); in VisitOMPInReductionClause()
11137 C->setLHSExprs(Vars); in VisitOMPInReductionClause()
11141 C->setRHSExprs(Vars); in VisitOMPInReductionClause()
11145 C->setReductionOps(Vars); in VisitOMPInReductionClause()
11149 C->setTaskgroupDescriptors(Vars); in VisitOMPInReductionClause()
11154 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPLinearClause()
11155 C->setColonLoc(Record.readSourceLocation()); in VisitOMPLinearClause()
11156 C->setModifier(static_cast<OpenMPLinearClauseKind>(Record.readInt())); in VisitOMPLinearClause()
11157 C->setModifierLoc(Record.readSourceLocation()); in VisitOMPLinearClause()
11158 unsigned NumVars = C->varlist_size(); in VisitOMPLinearClause()
11163 C->setVarRefs(Vars); in VisitOMPLinearClause()
11167 C->setPrivates(Vars); in VisitOMPLinearClause()
11171 C->setInits(Vars); in VisitOMPLinearClause()
11175 C->setUpdates(Vars); in VisitOMPLinearClause()
11179 C->setFinals(Vars); in VisitOMPLinearClause()
11180 C->setStep(Record.readSubExpr()); in VisitOMPLinearClause()
11181 C->setCalcStep(Record.readSubExpr()); in VisitOMPLinearClause()
11185 C->setUsedExprs(Vars); in VisitOMPLinearClause()
11189 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAlignedClause()
11190 C->setColonLoc(Record.readSourceLocation()); in VisitOMPAlignedClause()
11191 unsigned NumVars = C->varlist_size(); in VisitOMPAlignedClause()
11196 C->setVarRefs(Vars); in VisitOMPAlignedClause()
11197 C->setAlignment(Record.readSubExpr()); in VisitOMPAlignedClause()
11201 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPCopyinClause()
11202 unsigned NumVars = C->varlist_size(); in VisitOMPCopyinClause()
11207 C->setVarRefs(Exprs); in VisitOMPCopyinClause()
11211 C->setSourceExprs(Exprs); in VisitOMPCopyinClause()
11215 C->setDestinationExprs(Exprs); in VisitOMPCopyinClause()
11219 C->setAssignmentOps(Exprs); in VisitOMPCopyinClause()
11223 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPCopyprivateClause()
11224 unsigned NumVars = C->varlist_size(); in VisitOMPCopyprivateClause()
11229 C->setVarRefs(Exprs); in VisitOMPCopyprivateClause()
11233 C->setSourceExprs(Exprs); in VisitOMPCopyprivateClause()
11237 C->setDestinationExprs(Exprs); in VisitOMPCopyprivateClause()
11241 C->setAssignmentOps(Exprs); in VisitOMPCopyprivateClause()
11245 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFlushClause()
11246 unsigned NumVars = C->varlist_size(); in VisitOMPFlushClause()
11251 C->setVarRefs(Vars); in VisitOMPFlushClause()
11255 C->setDepobj(Record.readSubExpr()); in VisitOMPDepobjClause()
11256 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDepobjClause()
11260 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDependClause()
11261 C->setModifier(Record.readSubExpr()); in VisitOMPDependClause()
11262 C->setDependencyKind( in VisitOMPDependClause()
11264 C->setDependencyLoc(Record.readSourceLocation()); in VisitOMPDependClause()
11265 C->setColonLoc(Record.readSourceLocation()); in VisitOMPDependClause()
11266 C->setOmpAllMemoryLoc(Record.readSourceLocation()); in VisitOMPDependClause()
11267 unsigned NumVars = C->varlist_size(); in VisitOMPDependClause()
11272 C->setVarRefs(Vars); in VisitOMPDependClause()
11273 for (unsigned I = 0, E = C->getNumLoops(); I < E; ++I) in VisitOMPDependClause()
11274 C->setLoopData(I, Record.readSubExpr()); in VisitOMPDependClause()
11279 C->setModifier(Record.readEnum<OpenMPDeviceClauseModifier>()); in VisitOMPDeviceClause()
11280 C->setDevice(Record.readSubExpr()); in VisitOMPDeviceClause()
11281 C->setModifierLoc(Record.readSourceLocation()); in VisitOMPDeviceClause()
11282 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDeviceClause()
11286 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPMapClause()
11289 C->setMapTypeModifier( in VisitOMPMapClause()
11291 C->setMapTypeModifierLoc(I, Record.readSourceLocation()); in VisitOMPMapClause()
11292 if (C->getMapTypeModifier(I) == OMPC_MAP_MODIFIER_iterator) in VisitOMPMapClause()
11295 C->setMapperQualifierLoc(Record.readNestedNameSpecifierLoc()); in VisitOMPMapClause()
11296 C->setMapperIdInfo(Record.readDeclarationNameInfo()); in VisitOMPMapClause()
11297 C->setMapType( in VisitOMPMapClause()
11299 C->setMapLoc(Record.readSourceLocation()); in VisitOMPMapClause()
11300 C->setColonLoc(Record.readSourceLocation()); in VisitOMPMapClause()
11301 auto NumVars = C->varlist_size(); in VisitOMPMapClause()
11302 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPMapClause()
11303 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPMapClause()
11304 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPMapClause()
11310 C->setVarRefs(Vars); in VisitOMPMapClause()
11316 C->setUDMapperRefs(UDMappers); in VisitOMPMapClause()
11319 C->setIteratorModifier(Record.readExpr()); in VisitOMPMapClause()
11325 C->setUniqueDecls(Decls); in VisitOMPMapClause()
11331 C->setDeclNumLists(ListsPerDecl); in VisitOMPMapClause()
11337 C->setComponentListSizes(ListSizes); in VisitOMPMapClause()
11347 C->setComponents(Components, ListSizes); in VisitOMPMapClause()
11351 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAllocateClause()
11352 C->setColonLoc(Record.readSourceLocation()); in VisitOMPAllocateClause()
11353 C->setAllocator(Record.readSubExpr()); in VisitOMPAllocateClause()
11354 unsigned NumVars = C->varlist_size(); in VisitOMPAllocateClause()
11359 C->setVarRefs(Vars); in VisitOMPAllocateClause()
11364 C->setNumTeams(Record.readSubExpr()); in VisitOMPNumTeamsClause()
11365 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNumTeamsClause()
11370 C->setThreadLimit(Record.readSubExpr()); in VisitOMPThreadLimitClause()
11371 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPThreadLimitClause()
11376 C->setPriority(Record.readSubExpr()); in VisitOMPPriorityClause()
11377 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPPriorityClause()
11382 C->setModifier(Record.readEnum<OpenMPGrainsizeClauseModifier>()); in VisitOMPGrainsizeClause()
11383 C->setGrainsize(Record.readSubExpr()); in VisitOMPGrainsizeClause()
11384 C->setModifierLoc(Record.readSourceLocation()); in VisitOMPGrainsizeClause()
11385 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPGrainsizeClause()
11390 C->setModifier(Record.readEnum<OpenMPNumTasksClauseModifier>()); in VisitOMPNumTasksClause()
11391 C->setNumTasks(Record.readSubExpr()); in VisitOMPNumTasksClause()
11392 C->setModifierLoc(Record.readSourceLocation()); in VisitOMPNumTasksClause()
11393 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNumTasksClause()
11397 C->setHint(Record.readSubExpr()); in VisitOMPHintClause()
11398 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPHintClause()
11403 C->setDistScheduleKind( in VisitOMPDistScheduleClause()
11405 C->setChunkSize(Record.readSubExpr()); in VisitOMPDistScheduleClause()
11406 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDistScheduleClause()
11407 C->setDistScheduleKindLoc(Record.readSourceLocation()); in VisitOMPDistScheduleClause()
11408 C->setCommaLoc(Record.readSourceLocation()); in VisitOMPDistScheduleClause()
11412 C->setDefaultmapKind( in VisitOMPDefaultmapClause()
11414 C->setDefaultmapModifier( in VisitOMPDefaultmapClause()
11416 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDefaultmapClause()
11417 C->setDefaultmapModifierLoc(Record.readSourceLocation()); in VisitOMPDefaultmapClause()
11418 C->setDefaultmapKindLoc(Record.readSourceLocation()); in VisitOMPDefaultmapClause()
11422 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPToClause()
11424 C->setMotionModifier( in VisitOMPToClause()
11426 C->setMotionModifierLoc(I, Record.readSourceLocation()); in VisitOMPToClause()
11428 C->setMapperQualifierLoc(Record.readNestedNameSpecifierLoc()); in VisitOMPToClause()
11429 C->setMapperIdInfo(Record.readDeclarationNameInfo()); in VisitOMPToClause()
11430 C->setColonLoc(Record.readSourceLocation()); in VisitOMPToClause()
11431 auto NumVars = C->varlist_size(); in VisitOMPToClause()
11432 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPToClause()
11433 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPToClause()
11434 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPToClause()
11440 C->setVarRefs(Vars); in VisitOMPToClause()
11446 C->setUDMapperRefs(UDMappers); in VisitOMPToClause()
11452 C->setUniqueDecls(Decls); in VisitOMPToClause()
11458 C->setDeclNumLists(ListsPerDecl); in VisitOMPToClause()
11464 C->setComponentListSizes(ListSizes); in VisitOMPToClause()
11474 C->setComponents(Components, ListSizes); in VisitOMPToClause()
11478 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFromClause()
11480 C->setMotionModifier( in VisitOMPFromClause()
11482 C->setMotionModifierLoc(I, Record.readSourceLocation()); in VisitOMPFromClause()
11484 C->setMapperQualifierLoc(Record.readNestedNameSpecifierLoc()); in VisitOMPFromClause()
11485 C->setMapperIdInfo(Record.readDeclarationNameInfo()); in VisitOMPFromClause()
11486 C->setColonLoc(Record.readSourceLocation()); in VisitOMPFromClause()
11487 auto NumVars = C->varlist_size(); in VisitOMPFromClause()
11488 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPFromClause()
11489 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPFromClause()
11490 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPFromClause()
11496 C->setVarRefs(Vars); in VisitOMPFromClause()
11502 C->setUDMapperRefs(UDMappers); in VisitOMPFromClause()
11508 C->setUniqueDecls(Decls); in VisitOMPFromClause()
11514 C->setDeclNumLists(ListsPerDecl); in VisitOMPFromClause()
11520 C->setComponentListSizes(ListSizes); in VisitOMPFromClause()
11530 C->setComponents(Components, ListSizes); in VisitOMPFromClause()
11534 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPUseDevicePtrClause()
11535 auto NumVars = C->varlist_size(); in VisitOMPUseDevicePtrClause()
11536 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPUseDevicePtrClause()
11537 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPUseDevicePtrClause()
11538 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPUseDevicePtrClause()
11544 C->setVarRefs(Vars); in VisitOMPUseDevicePtrClause()
11548 C->setPrivateCopies(Vars); in VisitOMPUseDevicePtrClause()
11552 C->setInits(Vars); in VisitOMPUseDevicePtrClause()
11558 C->setUniqueDecls(Decls); in VisitOMPUseDevicePtrClause()
11564 C->setDeclNumLists(ListsPerDecl); in VisitOMPUseDevicePtrClause()
11570 C->setComponentListSizes(ListSizes); in VisitOMPUseDevicePtrClause()
11580 C->setComponents(Components, ListSizes); in VisitOMPUseDevicePtrClause()
11584 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPUseDeviceAddrClause()
11585 auto NumVars = C->varlist_size(); in VisitOMPUseDeviceAddrClause()
11586 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPUseDeviceAddrClause()
11587 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPUseDeviceAddrClause()
11588 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPUseDeviceAddrClause()
11594 C->setVarRefs(Vars); in VisitOMPUseDeviceAddrClause()
11600 C->setUniqueDecls(Decls); in VisitOMPUseDeviceAddrClause()
11606 C->setDeclNumLists(ListsPerDecl); in VisitOMPUseDeviceAddrClause()
11612 C->setComponentListSizes(ListSizes); in VisitOMPUseDeviceAddrClause()
11622 C->setComponents(Components, ListSizes); in VisitOMPUseDeviceAddrClause()
11626 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPIsDevicePtrClause()
11627 auto NumVars = C->varlist_size(); in VisitOMPIsDevicePtrClause()
11628 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPIsDevicePtrClause()
11629 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPIsDevicePtrClause()
11630 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPIsDevicePtrClause()
11636 C->setVarRefs(Vars); in VisitOMPIsDevicePtrClause()
11643 C->setUniqueDecls(Decls); in VisitOMPIsDevicePtrClause()
11649 C->setDeclNumLists(ListsPerDecl); in VisitOMPIsDevicePtrClause()
11655 C->setComponentListSizes(ListSizes); in VisitOMPIsDevicePtrClause()
11665 C->setComponents(Components, ListSizes); in VisitOMPIsDevicePtrClause()
11669 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPHasDeviceAddrClause()
11670 auto NumVars = C->varlist_size(); in VisitOMPHasDeviceAddrClause()
11671 auto UniqueDecls = C->getUniqueDeclarationsNum(); in VisitOMPHasDeviceAddrClause()
11672 auto TotalLists = C->getTotalComponentListNum(); in VisitOMPHasDeviceAddrClause()
11673 auto TotalComponents = C->getTotalComponentsNum(); in VisitOMPHasDeviceAddrClause()
11679 C->setVarRefs(Vars); in VisitOMPHasDeviceAddrClause()
11686 C->setUniqueDecls(Decls); in VisitOMPHasDeviceAddrClause()
11692 C->setDeclNumLists(ListsPerDecl); in VisitOMPHasDeviceAddrClause()
11698 C->setComponentListSizes(ListSizes); in VisitOMPHasDeviceAddrClause()
11708 C->setComponents(Components, ListSizes); in VisitOMPHasDeviceAddrClause()
11712 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPNontemporalClause()
11713 unsigned NumVars = C->varlist_size(); in VisitOMPNontemporalClause()
11718 C->setVarRefs(Vars); in VisitOMPNontemporalClause()
11723 C->setPrivateRefs(Vars); in VisitOMPNontemporalClause()
11727 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPInclusiveClause()
11728 unsigned NumVars = C->varlist_size(); in VisitOMPInclusiveClause()
11733 C->setVarRefs(Vars); in VisitOMPInclusiveClause()
11737 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPExclusiveClause()
11738 unsigned NumVars = C->varlist_size(); in VisitOMPExclusiveClause()
11743 C->setVarRefs(Vars); in VisitOMPExclusiveClause()
11747 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPUsesAllocatorsClause()
11748 unsigned NumOfAllocators = C->getNumberOfAllocators(); in VisitOMPUsesAllocatorsClause()
11749 SmallVector<OMPUsesAllocatorsClause::Data, 4> Data; in VisitOMPUsesAllocatorsClause()
11758 C->setAllocatorsData(Data); in VisitOMPUsesAllocatorsClause()
11762 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAffinityClause()
11763 C->setModifier(Record.readSubExpr()); in VisitOMPAffinityClause()
11764 C->setColonLoc(Record.readSourceLocation()); in VisitOMPAffinityClause()
11765 unsigned NumOfLocators = C->varlist_size(); in VisitOMPAffinityClause()
11766 SmallVector<Expr *, 4> Locators; in VisitOMPAffinityClause()
11770 C->setVarRefs(Locators); in VisitOMPAffinityClause()
11774 C->setKind(Record.readEnum<OpenMPOrderClauseKind>()); in VisitOMPOrderClause()
11775 C->setModifier(Record.readEnum<OpenMPOrderClauseModifier>()); in VisitOMPOrderClause()
11776 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPOrderClause()
11777 C->setKindKwLoc(Record.readSourceLocation()); in VisitOMPOrderClause()
11778 C->setModifierKwLoc(Record.readSourceLocation()); in VisitOMPOrderClause()
11783 C->setThreadID(Record.readSubExpr()); in VisitOMPFilterClause()
11784 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPFilterClause()
11788 C->setBindKind(Record.readEnum<OpenMPBindClauseKind>()); in VisitOMPBindClause()
11789 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPBindClause()
11790 C->setBindKindLoc(Record.readSourceLocation()); in VisitOMPBindClause()
11794 C->setAlignment(Record.readExpr()); in VisitOMPAlignClause()
11795 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPAlignClause()
11800 C->setSize(Record.readSubExpr()); in VisitOMPXDynCGroupMemClause()
11801 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPXDynCGroupMemClause()
11805 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPDoacrossClause()
11806 C->setDependenceType( in VisitOMPDoacrossClause()
11808 C->setDependenceLoc(Record.readSourceLocation()); in VisitOMPDoacrossClause()
11809 C->setColonLoc(Record.readSourceLocation()); in VisitOMPDoacrossClause()
11810 unsigned NumVars = C->varlist_size(); in VisitOMPDoacrossClause()
11815 C->setVarRefs(Vars); in VisitOMPDoacrossClause()
11816 for (unsigned I = 0, E = C->getNumLoops(); I < E; ++I) in VisitOMPDoacrossClause()
11817 C->setLoopData(I, Record.readSubExpr()); in VisitOMPDoacrossClause()
11823 C->setAttrs(Attrs); in VisitOMPXAttributeClause()
11824 C->setLocStart(Record.readSourceLocation()); in VisitOMPXAttributeClause()
11825 C->setLParenLoc(Record.readSourceLocation()); in VisitOMPXAttributeClause()
11826 C->setLocEnd(Record.readSourceLocation()); in VisitOMPXAttributeClause()
11853 if (Reader->ReadingKind == ASTReader::Read_Stmt) { in readOMPChildren()
11857 SmallVector<OMPClause *, 4> Clauses(Data->getNumClauses()); in readOMPChildren()
11858 for (unsigned I = 0, E = Data->getNumClauses(); I < E; ++I) in readOMPChildren()
11860 Data->setClauses(Clauses); in readOMPChildren()
11861 if (Data->hasAssociatedStmt()) in readOMPChildren()
11862 Data->setAssociatedStmt(readStmt()); in readOMPChildren()
11863 for (unsigned I = 0, E = Data->getNumChildren(); I < E; ++I) in readOMPChildren()
11864 Data->getChildren()[I] = readStmt(); in readOMPChildren()