summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/PPLexerChange.cpp
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
commit54cbc706b10569a0ff6026d6e22f4005bddd181a (patch)
tree53c419ca580016cb689e2efffe91961ab54f3c26 /clang/lib/Lex/PPLexerChange.cpp
parentae5438701e3997e48d8d47ab8feb2cbc3dc50f51 (diff)
downloadbcm5719-llvm-54cbc706b10569a0ff6026d6e22f4005bddd181a.tar.gz
bcm5719-llvm-54cbc706b10569a0ff6026d6e22f4005bddd181a.zip
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. llvm-svn: 211746
Diffstat (limited to 'clang/lib/Lex/PPLexerChange.cpp')
-rw-r--r--clang/lib/Lex/PPLexerChange.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Lex/PPLexerChange.cpp b/clang/lib/Lex/PPLexerChange.cpp
index 81bb077632f..75862931519 100644
--- a/clang/lib/Lex/PPLexerChange.cpp
+++ b/clang/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.
OpenPOWER on IntegriCloud