Lines Matching refs:Header

181     Module *M, const Module::UnresolvedHeaderDirective &Header,  in findHeader()  argument
190 if (!File || (Header.Size && File->getSize() != *Header.Size) || in findHeader()
191 (Header.ModTime && File->getModificationTime() != *Header.ModTime)) in findHeader()
202 llvm::sys::path::append(RelativePathName, "Headers", Header.FileName); in findHeader()
219 Header.FileName); in findHeader()
224 if (llvm::sys::path::is_absolute(Header.FileName)) { in findHeader()
226 RelativePathName.append(Header.FileName.begin(), Header.FileName.end()); in findHeader()
227 return GetFile(Header.FileName); in findHeader()
234 llvm::sys::path::append(RelativePathName, Header.FileName); in findHeader()
245 Diags.Report(Header.FileNameLoc, in findHeader()
247 << Header.FileName << M->getFullModuleName(); in findHeader()
257 const Module::UnresolvedHeaderDirective &Header, in resolveHeader() argument
261 findHeader(Mod, Header, RelativePathName, NeedsFramework)) { in resolveHeader()
262 if (Header.IsUmbrella) { in resolveHeader()
265 Diags.Report(Header.FileNameLoc, diag::err_mmap_umbrella_clash) in resolveHeader()
269 setUmbrellaHeader(Mod, *File, Header.FileName, RelativePathName.str()); in resolveHeader()
271 Module::Header H = {Header.FileName, std::string(RelativePathName.str()), in resolveHeader()
273 addHeader(Mod, H, headerKindToRole(Header.Kind)); in resolveHeader()
275 } else if (Header.HasBuiltinHeader && !Header.Size && !Header.ModTime) { in resolveHeader()
278 } else if (Header.Kind == Module::HK_Excluded) { in resolveHeader()
283 Mod->MissingHeaders.push_back(Header); in resolveHeader()
288 if (!Header.Size && !Header.ModTime) in resolveHeader()
294 Module *Mod, const Module::UnresolvedHeaderDirective &Header) { in resolveAsBuiltinHeader() argument
295 if (Header.Kind == Module::HK_Excluded || in resolveAsBuiltinHeader()
296 llvm::sys::path::is_absolute(Header.FileName) || in resolveAsBuiltinHeader()
297 Mod->isPartOfFramework() || !Mod->IsSystem || Header.IsUmbrella || in resolveAsBuiltinHeader()
299 !isBuiltinHeader(Header.FileName)) in resolveAsBuiltinHeader()
306 llvm::sys::path::append(Path, BuiltinIncludeDir->getName(), Header.FileName); in resolveAsBuiltinHeader()
311 auto Role = headerKindToRole(Header.Kind); in resolveAsBuiltinHeader()
312 Module::Header H = {Header.FileName, std::string(Path.str()), *File}; in resolveAsBuiltinHeader()
451 ModuleMap::KnownHeader Header) { in violatesPrivateInclude() argument
453 if (Header.getRole() & ModuleMap::PrivateHeader) { in violatesPrivateInclude()
458 SmallVectorImpl<Module::Header> *HeaderList[] = { in violatesPrivateInclude()
459 &Header.getModule()->Headers[Module::HK_Private], in violatesPrivateInclude()
460 &Header.getModule()->Headers[Module::HK_PrivateTextual]}; in violatesPrivateInclude()
463 *Hs, [&](const Module::Header &H) { return H.Entry == IncFileEnt; }); in violatesPrivateInclude()
467 return !Header.isAccessibleFrom(RequestingModule); in violatesPrivateInclude()
494 for (const KnownHeader &Header : Known->second) { in diagnoseHeaderInclusion() local
496 if (Header.getRole() == ModuleMap::ExcludedHeader) { in diagnoseHeaderInclusion()
502 if (violatesPrivateInclude(RequestingModule, File, Header)) { in diagnoseHeaderInclusion()
503 Private = Header.getModule(); in diagnoseHeaderInclusion()
510 !RequestingModule->directlyUses(Header.getModule())) { in diagnoseHeaderInclusion()
511 NotUsed = Header.getModule(); in diagnoseHeaderInclusion()
676 KnownHeader Header(Result, NormalHeader); in findOrCreateModuleForHeaderInUmbrellaDir() local
677 Headers[File].push_back(Header); in findOrCreateModuleForHeaderInUmbrellaDir()
678 return Header; in findOrCreateModuleForHeaderInUmbrellaDir()
706 bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) const { in isHeaderInUnavailableModule()
707 return isHeaderUnavailableInModule(Header, nullptr); in isHeaderInUnavailableModule()
711 ModuleMap::isHeaderUnavailableInModule(const FileEntry *Header, in isHeaderUnavailableInModule() argument
713 resolveHeaderDirectives(Header); in isHeaderUnavailableInModule()
714 HeadersMap::const_iterator Known = Headers.find(Header); in isHeaderUnavailableInModule()
740 const DirectoryEntry *Dir = Header->getDir(); in isHeaderUnavailableInModule()
781 llvm::sys::path::stem(Header->getName()), in isHeaderUnavailableInModule()
903 Module::Header H) { in createHeaderUnit()
1164 Module::UnresolvedHeaderDirective Header, in addUnresolvedHeader() argument
1168 if (resolveAsBuiltinHeader(Mod, Header)) { in addUnresolvedHeader()
1173 Header.Kind = headerRoleToKind(ModuleMap::ModuleHeaderRole( in addUnresolvedHeader()
1174 headerKindToRole(Header.Kind) | ModuleMap::TextualHeader)); in addUnresolvedHeader()
1175 Header.HasBuiltinHeader = true; in addUnresolvedHeader()
1182 if ((Header.Size || Header.ModTime) && !Header.IsUmbrella && in addUnresolvedHeader()
1183 Header.Kind != Module::HK_Excluded) { in addUnresolvedHeader()
1186 if (Header.ModTime) in addUnresolvedHeader()
1187 LazyHeadersByModTime[*Header.ModTime].push_back(Mod); in addUnresolvedHeader()
1189 LazyHeadersBySize[*Header.Size].push_back(Mod); in addUnresolvedHeader()
1190 Mod->UnresolvedHeaders.push_back(Header); in addUnresolvedHeader()
1196 resolveHeader(Mod, Header, NeedsFramework); in addUnresolvedHeader()
1222 for (auto &Header : Mod->UnresolvedHeaders) { in resolveHeaderDirectives() local
1223 if (File && ((Header.ModTime && Header.ModTime != ModTime) || in resolveHeaderDirectives()
1224 (Header.Size && Header.Size != Size))) in resolveHeaderDirectives()
1225 NewHeaders.push_back(Header); in resolveHeaderDirectives()
1229 const_cast<ModuleMap *>(this)->resolveHeader(Mod, Header, NeedsFramework); in resolveHeaderDirectives()
1234 void ModuleMap::addHeader(Module *Mod, Module::Header Header, in addHeader() argument
1241 auto &HeaderList = Headers[Header.Entry]; in addHeader()
1246 Mod->Headers[headerRoleToKind(Role)].push_back(Header); in addHeader()
1253 HeaderInfo.MarkFileModuleHeader(Header.Entry, Role, in addHeader()
1259 Cb->moduleMapAddHeader(Header.Entry->getName()); in addHeader()
2375 Module::UnresolvedHeaderDirective Header; in parseHeaderDecl() local
2376 Header.FileName = std::string(Tok.getString()); in parseHeaderDecl()
2377 Header.FileNameLoc = consumeToken(); in parseHeaderDecl()
2378 Header.IsUmbrella = LeadingToken == MMToken::UmbrellaKeyword; in parseHeaderDecl()
2379 Header.Kind = Map.headerRoleToKind(Role); in parseHeaderDecl()
2382 if (Header.IsUmbrella && ActiveModule->Umbrella) { in parseHeaderDecl()
2383 Diags.Report(Header.FileNameLoc, diag::err_mmap_umbrella_clash) in parseHeaderDecl()
2403 if (Header.Size) in parseHeaderDecl()
2411 Header.Size = Tok.getInteger(); in parseHeaderDecl()
2416 if (Header.ModTime) in parseHeaderDecl()
2424 Header.ModTime = Tok.getInteger(); in parseHeaderDecl()
2445 Map.addUnresolvedHeader(ActiveModule, std::move(Header), NeedsFramework); in parseHeaderDecl()
2453 static int compareModuleHeaders(const Module::Header *A, in compareModuleHeaders()
2454 const Module::Header *B) { in compareModuleHeaders()
2508 SmallVector<Module::Header, 6> Headers; in parseUmbrellaDirDecl()
2514 Module::Header Header = {"", std::string(I->path()), FE}; in parseUmbrellaDirDecl() local
2515 Headers.push_back(std::move(Header)); in parseUmbrellaDirDecl()
2522 for (auto &Header : Headers) in parseUmbrellaDirDecl() local
2523 Map.addHeader(ActiveModule, std::move(Header), ModuleMap::TextualHeader); in parseUmbrellaDirDecl()