diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2017-04-12 04:49:00 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2017-04-12 04:49:00 +0000 |
commit | 69cdc901f0d2ac3940b197525ff1e582cf448ef4 (patch) | |
tree | 3570211303dbfaf2f0de74ba84750bf89b25fa70 | |
parent | 51c220cbeb226dd1c0f03d4fc07f6419df875651 (diff) | |
download | bcm5719-llvm-69cdc901f0d2ac3940b197525ff1e582cf448ef4.tar.gz bcm5719-llvm-69cdc901f0d2ac3940b197525ff1e582cf448ef4.zip |
[Modules] Remove darwin specific code to check for SystemVersion.plist
This isn't need anymore and modules options -fbuild-session-file and
-fmodules-validate-once-per-build-session already provide a sane
mechanism to validate the system headers.
rdar://problem/19767523
llvm-svn: 300027
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 23 | ||||
-rw-r--r-- | clang/test/Modules/system_version.m | 31 |
2 files changed, 0 insertions, 54 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 271d1ca4f6e..b9c24ab6c00 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2660,29 +2660,6 @@ std::string CompilerInvocation::getModuleHash() const { code = ext->hashExtension(code); } - // Darwin-specific hack: if we have a sysroot, use the contents and - // modification time of - // $sysroot/System/Library/CoreServices/SystemVersion.plist - // as part of the module hash. - if (!hsOpts.Sysroot.empty()) { - SmallString<128> systemVersionFile; - systemVersionFile += hsOpts.Sysroot; - llvm::sys::path::append(systemVersionFile, "System"); - llvm::sys::path::append(systemVersionFile, "Library"); - llvm::sys::path::append(systemVersionFile, "CoreServices"); - llvm::sys::path::append(systemVersionFile, "SystemVersion.plist"); - - llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> buffer = - llvm::MemoryBuffer::getFile(systemVersionFile); - if (buffer) { - code = hash_combine(code, buffer.get()->getBuffer()); - - struct stat statBuf; - if (stat(systemVersionFile.c_str(), &statBuf) == 0) - code = hash_combine(code, statBuf.st_mtime); - } - } - return llvm::APInt(64, code).toString(36, /*Signed=*/false); } diff --git a/clang/test/Modules/system_version.m b/clang/test/Modules/system_version.m deleted file mode 100644 index b1bc3609272..00000000000 --- a/clang/test/Modules/system_version.m +++ /dev/null @@ -1,31 +0,0 @@ -// Test checking that we're hashing a system version file in the -// module hash. - -// First, build a system root. -// RUN: rm -rf %t -// RUN: mkdir -p %t/usr/include -// RUN: cp %S/Inputs/Modified/A.h %t/usr/include -// RUN: cp %S/Inputs/Modified/B.h %t/usr/include -// RUN: cp %S/Inputs/Modified/module.map %t/usr/include - -// Run once with no system version file. We should end up with one module. -// RUN: %clang_cc1 -fmodules-cache-path=%t/cache -fmodules -fimplicit-module-maps -isysroot %t -I %t/usr/include %s -verify -// RUN: ls -R %t | grep -c "ModA.*pcm" | grep 1 - -// Add a system version file and run again. We should now have two -// module variants. -// RUN: mkdir -p %t/System/Library/CoreServices -// RUN: echo "hello" > %t/System/Library/CoreServices/SystemVersion.plist -// RUN: %clang_cc1 -fmodules-cache-path=%t/cache -fmodules -fimplicit-module-maps -isysroot %t -I %t/usr/include %s -verify -// RUN: ls -R %t | grep -c "ModA.*pcm" | grep 2 - -// Change the system version file and run again. We should now have three -// module variants. -// RUN: mkdir -p %t/System/Library/CoreServices -// RUN: echo "modules" > %t/System/Library/CoreServices/SystemVersion.plist -// RUN: %clang_cc1 -fmodules-cache-path=%t/cache -fmodules -fimplicit-module-maps -isysroot %t -I %t/usr/include %s -verify -// RUN: ls -R %t | grep -c "ModA.*pcm" | grep 3 - -// expected-no-diagnostics -@import ModA; - |