forked from OSchip/llvm-project
Move two Darwin-specific hacks into #ifdef __APPLE__. These were stat'ing
nonexistent Darwin-specific files on every module build. llvm-svn: 182331
This commit is contained in:
parent
68ae91cf83
commit
fcf713ac24
|
@ -1690,6 +1690,7 @@ std::string CompilerInvocation::getModuleHash() const {
|
|||
hsOpts.UseStandardCXXIncludes,
|
||||
hsOpts.UseLibcxx);
|
||||
|
||||
#ifdef __APPLE__
|
||||
// Darwin-specific hack: if we have a sysroot, use the contents and
|
||||
// modification time of
|
||||
// $sysroot/System/Library/CoreServices/SystemVersion.plist
|
||||
|
@ -1710,6 +1711,7 @@ std::string CompilerInvocation::getModuleHash() const {
|
|||
code = hash_combine(code, statBuf.st_mtime);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return llvm::APInt(64, code).toString(36, /*Signed=*/false);
|
||||
}
|
||||
|
|
|
@ -1279,11 +1279,13 @@ void ASTWriter::WriteInputFiles(SourceManager &SourceMgr,
|
|||
SortedFiles.push_front(Entry);
|
||||
}
|
||||
|
||||
FileManager &FileMgr = SourceMgr.getFileManager();
|
||||
|
||||
#ifdef __APPLE__
|
||||
// If we have an isysroot for a Darwin SDK, include its SDKSettings.plist in
|
||||
// the set of (non-system) input files. This is simple heuristic for
|
||||
// detecting whether the system headers may have changed, because it is too
|
||||
// expensive to stat() all of the system headers.
|
||||
FileManager &FileMgr = SourceMgr.getFileManager();
|
||||
if (!HSOpts.Sysroot.empty() && !Chain) {
|
||||
llvm::SmallString<128> SDKSettingsFileName(HSOpts.Sysroot);
|
||||
llvm::sys::path::append(SDKSettingsFileName, "SDKSettings.plist");
|
||||
|
@ -1292,6 +1294,7 @@ void ASTWriter::WriteInputFiles(SourceManager &SourceMgr,
|
|||
SortedFiles.push_front(Entry);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
unsigned UserFilesNum = 0;
|
||||
// Write out all of the input files.
|
||||
|
|
Loading…
Reference in New Issue