summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Langmuir <blangmuir@apple.com>2014-06-25 23:53:43 +0000
committerBen Langmuir <blangmuir@apple.com>2014-06-25 23:53:43 +0000
commit0dfafa59cace8b477d3ae3ab89f2e662fea0954c (patch)
tree73ad65b0913ded486b89da814be33b765a7910b7 /lib
parent740214c8b65b0d67e0bbf6e692735e5ac372cbd4 (diff)
downloadclang-0dfafa59cace8b477d3ae3ab89f2e662fea0954c.tar.gz
clang-0dfafa59cace8b477d3ae3ab89f2e662fea0954c.tar.bz2
clang-0dfafa59cace8b477d3ae3ab89f2e662fea0954c.tar.xz
Make -Wincomplete-umbrella go through the VFS
By using vfs::recursive_directory_iterator, this warning will now fire when some or all of a module's headers are from VFS mappings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211746 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Lex/PPLexerChange.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Lex/PPLexerChange.cpp b/lib/Lex/PPLexerChange.cpp
index 81bb077632..7586293151 100644
--- a/lib/Lex/PPLexerChange.cpp
+++ b/lib/Lex/PPLexerChange.cpp
@@ -455,19 +455,21 @@ bool Preprocessor::HandleEndOfFile(Token &Result, bool isEndOfMacro) {
typedef llvm::sys::fs::recursive_directory_iterator
recursive_directory_iterator;
const DirectoryEntry *Dir = Mod->getUmbrellaDir();
+ vfs::FileSystem &FS = *FileMgr.getVirtualFileSystem();
std::error_code EC;
- for (recursive_directory_iterator Entry(Dir->getName(), EC), End;
+ for (vfs::recursive_directory_iterator Entry(FS, Dir->getName(), EC), End;
Entry != End && !EC; Entry.increment(EC)) {
using llvm::StringSwitch;
// Check whether this entry has an extension typically associated with
// headers.
- if (!StringSwitch<bool>(llvm::sys::path::extension(Entry->path()))
+ if (!StringSwitch<bool>(llvm::sys::path::extension(Entry->getName()))
.Cases(".h", ".H", ".hh", ".hpp", true)
.Default(false))
continue;
- if (const FileEntry *Header = getFileManager().getFile(Entry->path()))
+ if (const FileEntry *Header =
+ getFileManager().getFile(Entry->getName()))
if (!getSourceManager().hasFileInfo(Header)) {
if (!ModMap.isHeaderInUnavailableModule(Header)) {
// Find the relative path that would access this header.