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 | fc8644cd62fe1146adbfb729f55b85481ef1f2ee (patch) | |
tree | 557d3f36fcc4618826c93492b6b32125bf02bba0 /clang/lib/Frontend/ModuleDependencyCollector.cpp | |
parent | f6f1def558b8425245d820c37b2c3dbfed3c3b63 (diff) | |
download | bcm5719-llvm-fc8644cd62fe1146adbfb729f55b85481ef1f2ee.tar.gz bcm5719-llvm-fc8644cd62fe1146adbfb729f55b85481ef1f2ee.zip |
[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.
llvm-svn: 266234
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
-rw-r--r-- | clang/lib/Frontend/ModuleDependencyCollector.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Frontend/ModuleDependencyCollector.cpp b/clang/lib/Frontend/ModuleDependencyCollector.cpp index 3e6c0d24750..02d3c515ef0 100644 --- a/clang/lib/Frontend/ModuleDependencyCollector.cpp +++ b/clang/lib/Frontend/ModuleDependencyCollector.cpp @@ -112,6 +112,10 @@ void ModuleDependencyCollector::writeFileMap() { // the sensitivity at the path where the headers all collected to. VFSWriter.setCaseSensitivity(isCaseSensitivePath(VFSDir)); + // Do not rely on real path names when executing the crash reproducer scripts + // since we only want to actually use the files we have on the VFS cache. + VFSWriter.setUseExternalNames(false); + std::error_code EC; SmallString<256> YAMLPath = VFSDir; llvm::sys::path::append(YAMLPath, "vfs.yaml"); |