Merge remote-tracking branch 'origin/master' into master-next

This commit is contained in:
swift_jenkins
2020-04-29 17:59:15 -07:00
194 changed files with 630 additions and 6595 deletions

View File

@@ -23,7 +23,6 @@
#include "swift/FrontendTool/FrontendTool.h"
#include "ImportedModules.h"
#include "ScanDependencies.h"
#include "ReferenceDependencies.h"
#include "TBD.h"
#include "swift/Subsystems.h"
@@ -139,6 +138,17 @@ swift::frontend::utils::escapeForMake(StringRef raw,
return buffer.data();
}
static std::vector<std::string>
reversePathSortedFilenames(const ArrayRef<std::string> elts) {
std::vector<std::string> tmp(elts.begin(), elts.end());
std::sort(tmp.begin(), tmp.end(), [](const std::string &a,
const std::string &b) -> bool {
return std::lexicographical_compare(a.rbegin(), a.rend(),
b.rbegin(), b.rend());
});
return tmp;
}
/// Emits a Make-style dependencies file.
static bool emitMakeDependenciesIfNeeded(DiagnosticEngine &diags,
DependencyTracker *depTracker,
@@ -942,17 +952,11 @@ static void emitReferenceDependenciesForAllPrimaryInputsIfNeeded(
SF->getFilename());
if (!referenceDependenciesFilePath.empty()) {
auto LangOpts = Invocation.getLangOptions();
if (LangOpts.EnableFineGrainedDependencies) {
(void)fine_grained_dependencies::emitReferenceDependencies(
Instance.getASTContext().Diags, SF,
*Instance.getDependencyTracker(),
referenceDependenciesFilePath,
LangOpts.EmitFineGrainedDependencySourcefileDotFiles);
} else {
(void)emitReferenceDependencies(Instance.getASTContext().Diags, SF,
*Instance.getDependencyTracker(),
referenceDependenciesFilePath);
}
(void)fine_grained_dependencies::emitReferenceDependencies(
Instance.getASTContext().Diags, SF,
*Instance.getDependencyTracker(),
referenceDependenciesFilePath,
LangOpts.EmitFineGrainedDependencySourcefileDotFiles);
}
}
}