[VFS] Add 'ignore-non-existent-contents' field to YAML files
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 12 Aug 2016 01:50:53 +0000 (01:50 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 12 Aug 2016 01:50:53 +0000 (01:50 +0000)
commitb40d8ad225a376d8032b261963113242a8d8102f
treee881b492a9ed5d1fba053503780f17fb7382f8f5
parent89439a793996aae97718bb9dd440ae31941038c7
[VFS] Add 'ignore-non-existent-contents' field to YAML files

Add 'ignore-non-existent-contents' to tell the VFS whether an invalid path
obtained via 'external-contents' should cause iteration on the VFS to stop.

If 'true', the VFS should ignore the entry and continue with the next. Allows
YAML files to be shared across multiple compiler invocations regardless of
prior existent paths in 'external-contents'. This global value is overridable
on a per-file basis.

This adds the parsing and write test part, but use by VFS comes next.

Differential Revision: https://reviews.llvm.org/D23422

rdar://problem/27531549

llvm-svn: 278456
clang/include/clang/Basic/VirtualFileSystem.h
clang/lib/Basic/VirtualFileSystem.cpp
clang/lib/Frontend/ModuleDependencyCollector.cpp
clang/test/Modules/crash-vfs-run-reproducer.m
clang/test/VFS/Inputs/vfsoverlay2.yaml