diff options
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 85bf93a..bcdc5b8 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -387,13 +387,17 @@ bool ModuleMap::isBuiltinHeader(StringRef FileName) { .Default(false); } +bool ModuleMap::isBuiltinHeader(const FileEntry *File) { + return File->getDir() == BuiltinIncludeDir && + ModuleMap::isBuiltinHeader(llvm::sys::path::filename(File->getName())); +} + ModuleMap::HeadersMap::iterator ModuleMap::findKnownHeader(const FileEntry *File) { resolveHeaderDirectives(File); HeadersMap::iterator Known = Headers.find(File); if (HeaderInfo.getHeaderSearchOpts().ImplicitModuleMaps && - Known == Headers.end() && File->getDir() == BuiltinIncludeDir && - ModuleMap::isBuiltinHeader(llvm::sys::path::filename(File->getName()))) { + Known == Headers.end() && ModuleMap::isBuiltinHeader(File)) { HeaderInfo.loadTopLevelSystemModules(); return Headers.find(File); } |