llvm-project/clang/test/VFS
Bruno Cardoso Lopes b7abde0343 Reapply [VFS] Skip non existent files from the VFS tree
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
2016-08-12 18:18:24 +00:00
..
Inputs Reapply [VFS] Skip non existent files from the VFS tree 2016-08-12 18:18:24 +00:00
external-names.c Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00
module-import.m Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00
parse-errors.c
real-path-found-first.m [VFS] Fix status() of opened redirected file 2015-12-10 23:41:39 +00:00
relative-path.c
umbrella-framework-import-skipnonexist.m Reapply [VFS] Skip non existent files from the VFS tree 2016-08-12 18:18:24 +00:00
umbrella-mismatch.m Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00