diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2016-04-13 19:28:21 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2016-04-13 19:28:21 +0000 |
commit | acc90c3a8e86a9b1454ec76a86888171ba5d8bf4 (patch) | |
tree | 44653bfa8225f8b489b683b9215fb7e7d7d6e905 /include/clang/Basic/VirtualFileSystem.h | |
parent | 3c75624a1661a906a8cb4de7056b0119f002c586 (diff) | |
download | clang-acc90c3a8e86a9b1454ec76a86888171ba5d8bf4.tar.gz |
[CrashReproducer] Setup 'use-external-names' in YAML files.
Hide the real paths when rebuilding from VFS by setting up the crash
reproducer to use 'use-external-names' = false. This way we avoid
module redifinition errors and consistently use the same paths against
all modules.
With this change on Darwin we are able to simulate a crash for a simple
application using "Foundation/Foundation.h" (which relies on a bunch of
different frameworks and headers) and successfully rebuild all the
modules by relying solely at the VFS overlay.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266234 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/VirtualFileSystem.h')
-rw-r--r-- | include/clang/Basic/VirtualFileSystem.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/clang/Basic/VirtualFileSystem.h b/include/clang/Basic/VirtualFileSystem.h index cc13d72a5b..9b95158987 100644 --- a/include/clang/Basic/VirtualFileSystem.h +++ b/include/clang/Basic/VirtualFileSystem.h @@ -325,6 +325,7 @@ class YAMLVFSWriter { std::vector<YAMLVFSEntry> Mappings; Optional<bool> IsCaseSensitive; Optional<bool> IsOverlayRelative; + Optional<bool> UseExternalNames; std::string OverlayDir; public: @@ -333,6 +334,9 @@ public: void setCaseSensitivity(bool CaseSensitive) { IsCaseSensitive = CaseSensitive; } + void setUseExternalNames(bool UseExtNames) { + UseExternalNames = UseExtNames; + } void setOverlayDir(StringRef OverlayDirectory) { IsOverlayRelative = true; OverlayDir.assign(OverlayDirectory.str()); |