diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2016-08-12 18:18:24 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2016-08-12 18:18:24 +0000 |
commit | b7abde0343e1042fec643faca571882e3fc133b7 (patch) | |
tree | e25c261c4192e0bd8cd046c3a854dbf9e5110575 /llvm/lib/Fuzzer/FuzzerUtil.cpp | |
parent | b1669ba1ed4f7476addc0ac9f18c4f3369aa9056 (diff) | |
download | bcm5719-llvm-b7abde0343e1042fec643faca571882e3fc133b7.tar.gz bcm5719-llvm-b7abde0343e1042fec643faca571882e3fc133b7.zip |
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
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerUtil.cpp')
0 files changed, 0 insertions, 0 deletions