]> granicus.if.org Git - clang/commit
[VFS] Add property 'fallthrough' that controls fallback to real file system.
authorVolodymyr Sapsai <vsapsai@apple.com>
Fri, 26 Oct 2018 22:16:24 +0000 (22:16 +0000)
committerVolodymyr Sapsai <vsapsai@apple.com>
Fri, 26 Oct 2018 22:16:24 +0000 (22:16 +0000)
commit5150b8d143b2c4c55f1aa2dc713dedb25bd9f9fd
treedc9e21e23dbf21e11e9fecd61acd92a63b090b6c
parent2bb1531af240c49e6cdc8fec94a21b814cb7ea30
[VFS] Add property 'fallthrough' that controls fallback to real file system.

Default property value 'true' preserves current behavior. Value 'false' can be
used to create VFS "root", file system that gives better control over which
files compiler can use during compilation as there are no unpredictable
accesses to real file system.

Non-fallthrough use case changes how we treat multiple VFS overlay
files. Instead of all of them being at the same level just above a real
file system, now they are nested and subsequent overlays can refer to
files in previous overlays.

Change is done both in LLVM and Clang, corresponding LLVM commit is r345431.

rdar://problem/39465552

Reviewers: bruno, benlangmuir

Reviewed By: bruno

Subscribers: dexonsmith, cfe-commits, hiraditya

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@345432 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Frontend/CompilerInvocation.cpp
test/VFS/Inputs/Broken.framework/Headers/Error.h [new file with mode: 0644]
test/VFS/Inputs/Broken.framework/Modules/module.modulemap [new file with mode: 0644]
test/VFS/Inputs/Broken.framework/VFSHeaders/A.h [new file with mode: 0644]
test/VFS/Inputs/vfsroot.yaml [new file with mode: 0644]
test/VFS/vfsroot-include.c [new file with mode: 0644]
test/VFS/vfsroot-module.m [new file with mode: 0644]
test/VFS/vfsroot-with-overlay.c [new file with mode: 0644]