forked from OSchip/llvm-project
b7abde0343
Reapply r278457 with test fixed to not abouse fs case sensitivity. When the VFS uses a YAML file, the real file path for a virtual file is described in the "external-contents" field. Example: ... { 'type': 'file', 'name': 'a.h', 'external-contents': '/a/b/c/a.h' } Currently, when parsing umbrella directories, we use vfs::recursive_directory_iterator to gather the header files to generate the equivalent modules for. If the external contents for a header does not exist, we currently are unable to build a module, since the VFS vfs::recursive_directory_iterator will fail when it finds an entry without a reliable real path. Since the YAML file could be prepared ahead of time and shared among different compiler invocations, an entry might not yet have a reliable path in 'external-contents', breaking the iteration. Give the VFS the capability to skip such entries whenever 'ignore-non-existent-contents' property is set in the YAML file. rdar://problem/27531549 llvm-svn: 278543 |
||
---|---|---|
.. | ||
Inputs | ||
external-names.c | ||
framework-import.m | ||
implicit-include.c | ||
include-mixed-real-and-virtual.c | ||
include-real-from-virtual.c | ||
include-virtual-from-real.c | ||
include.c | ||
incomplete-umbrella.m | ||
module-import.m | ||
parse-errors.c | ||
real-path-found-first.m | ||
relative-path.c | ||
umbrella-framework-import-skipnonexist.m | ||
umbrella-mismatch.m |