Skip to content

Commit 5ef93af

Browse files
committed
Revert "Don't require a strict revision match in LLDB."
This reverts commit 3cc2831. The compiler's revision check has been relaxed since the feature was introduced and so it's nos better to reduce the number of special code paths for LLDB in the compiler to facilitate reasoning about it. rdar://117824367
1 parent b60ed0b commit 5ef93af

File tree

7 files changed

+15
-22
lines changed

7 files changed

+15
-22
lines changed

include/swift/Serialization/Validation.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,16 +251,13 @@ struct SearchPath {
251251
/// compiled with -enable-ossa-modules.
252252
/// \param requiredSDK If not empty, only accept modules built with
253253
/// a compatible SDK. The StringRef represents the canonical SDK name.
254-
/// \param requiresRevisionMatch if true, expects the swift tag to match in
255-
/// addition to the module format version number.
256254
/// \param[out] extendedInfo If present, will be populated with additional
257255
/// compilation options serialized into the AST at build time that may be
258256
/// necessary to load it properly.
259257
/// \param[out] dependencies If present, will be populated with list of
260258
/// input files the module depends on, if present in INPUT_BLOCK.
261259
ValidationInfo validateSerializedAST(
262260
StringRef data, bool requiresOSSAModules, StringRef requiredSDK,
263-
bool requiresRevisionMatch = true,
264261
ExtendedValidationInfo *extendedInfo = nullptr,
265262
SmallVectorImpl<SerializationOptions::FileDependency> *dependencies =
266263
nullptr,

lib/ASTSectionImporter/ASTSectionImporter.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ swift::parseASTSection(MemoryBufferSerializedModuleLoader &Loader,
5757
// headers. Iterate over all AST modules.
5858
while (!buf.empty()) {
5959
auto info = serialization::validateSerializedAST(
60-
buf, Loader.isRequiredOSSAModules(), /*requiredSDK*/ StringRef(),
61-
/*requiresRevisionMatch*/ false);
60+
buf, Loader.isRequiredOSSAModules(), /*requiredSDK*/StringRef());
6261

6362
assert(info.name.size() < (2 << 10) && "name failed sanity check");
6463

lib/Frontend/CompilerInvocation.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3224,8 +3224,7 @@ serialization::Status
32243224
CompilerInvocation::loadFromSerializedAST(StringRef data) {
32253225
serialization::ExtendedValidationInfo extendedInfo;
32263226
serialization::ValidationInfo info = serialization::validateSerializedAST(
3227-
data, getSILOptions().EnableOSSAModules, LangOpts.SDKName,
3228-
!LangOpts.DebuggerSupport, &extendedInfo);
3227+
data, getSILOptions().EnableOSSAModules, LangOpts.SDKName, &extendedInfo);
32293228

32303229
if (info.status != serialization::Status::Valid)
32313230
return info.status;
@@ -3261,7 +3260,7 @@ CompilerInvocation::setUpInputForSILTool(
32613260

32623261
auto result = serialization::validateSerializedAST(
32633262
fileBufOrErr.get()->getBuffer(), getSILOptions().EnableOSSAModules,
3264-
LangOpts.SDKName, !LangOpts.DebuggerSupport, &extendedInfo);
3263+
LangOpts.SDKName, &extendedInfo);
32653264
bool hasSerializedAST = result.status == serialization::Status::Valid;
32663265

32673266
if (hasSerializedAST) {

lib/Frontend/ModuleInterfaceLoader.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,10 @@ namespace path = llvm::sys::path;
211211

212212
static bool serializedASTLooksValid(const llvm::MemoryBuffer &buf,
213213
bool requiresOSSAModules,
214-
StringRef requiredSDK,
215-
bool requiresRevisionMatch) {
216-
auto VI = serialization::validateSerializedAST(
217-
buf.getBuffer(), requiresOSSAModules, requiredSDK, requiresRevisionMatch);
214+
StringRef requiredSDK) {
215+
auto VI = serialization::validateSerializedAST(buf.getBuffer(),
216+
requiresOSSAModules,
217+
requiredSDK);
218218
return VI.status == serialization::Status::Valid;
219219
}
220220

@@ -462,7 +462,6 @@ class UpToDateModuleCheker {
462462
LLVM_DEBUG(llvm::dbgs() << "Validating deps of " << path << "\n");
463463
auto validationInfo = serialization::validateSerializedAST(
464464
buf.getBuffer(), requiresOSSAModules, ctx.LangOpts.SDKName,
465-
!ctx.LangOpts.DebuggerSupport,
466465
/*ExtendedValidationInfo=*/nullptr, &allDeps);
467466

468467
if (validationInfo.status != serialization::Status::Valid) {
@@ -621,8 +620,7 @@ class ModuleInterfaceLoaderImpl {
621620
// First, make sure the underlying module path exists and is valid.
622621
auto modBuf = fs.getBufferForFile(fwd.underlyingModulePath);
623622
if (!modBuf || !serializedASTLooksValid(*modBuf.get(), requiresOSSAModules,
624-
ctx.LangOpts.SDKName,
625-
!ctx.LangOpts.DebuggerSupport))
623+
ctx.LangOpts.SDKName))
626624
return false;
627625

628626
// Next, check the dependencies in the forwarding file.
@@ -2233,7 +2231,7 @@ bool ExplicitSwiftModuleLoader::canImportModule(
22332231
}
22342232
auto metaData = serialization::validateSerializedAST(
22352233
(*moduleBuf)->getBuffer(), Ctx.SILOpts.EnableOSSAModules,
2236-
Ctx.LangOpts.SDKName, !Ctx.LangOpts.DebuggerSupport);
2234+
Ctx.LangOpts.SDKName);
22372235
versionInfo->setVersion(metaData.userModuleVersion,
22382236
ModuleVersionSourceKind::SwiftBinaryModule);
22392237
return true;
@@ -2564,7 +2562,7 @@ bool ExplicitCASModuleLoader::canImportModule(
25642562
}
25652563
auto metaData = serialization::validateSerializedAST(
25662564
(*moduleBuf)->getBuffer(), Ctx.SILOpts.EnableOSSAModules,
2567-
Ctx.LangOpts.SDKName, !Ctx.LangOpts.DebuggerSupport);
2565+
Ctx.LangOpts.SDKName);
25682566
versionInfo->setVersion(metaData.userModuleVersion,
25692567
ModuleVersionSourceKind::SwiftBinaryModule);
25702568
return true;

lib/Serialization/ModuleFileSharedCore.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ bool serialization::isSerializedAST(StringRef data) {
547547

548548
ValidationInfo serialization::validateSerializedAST(
549549
StringRef data, bool requiresOSSAModules, StringRef requiredSDK,
550-
bool requiresRevisionMatch, ExtendedValidationInfo *extendedInfo,
550+
ExtendedValidationInfo *extendedInfo,
551551
SmallVectorImpl<SerializationOptions::FileDependency> *dependencies,
552552
SmallVectorImpl<SearchPath> *searchPaths) {
553553
ValidationInfo result;
@@ -590,7 +590,7 @@ ValidationInfo serialization::validateSerializedAST(
590590
result = validateControlBlock(
591591
cursor, scratch,
592592
{SWIFTMODULE_VERSION_MAJOR, SWIFTMODULE_VERSION_MINOR},
593-
requiresOSSAModules, requiresRevisionMatch,
593+
requiresOSSAModules, /*requiresRevisionMatch=*/true,
594594
requiredSDK,
595595
extendedInfo, localObfuscator);
596596
if (result.status != Status::Valid)

lib/Serialization/SerializedModuleLoader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1389,7 +1389,7 @@ bool SerializedModuleLoaderBase::canImportModule(
13891389
if (swiftInterfaceVersion.empty() && moduleInputBuffer) {
13901390
auto metaData = serialization::validateSerializedAST(
13911391
moduleInputBuffer->getBuffer(), Ctx.SILOpts.EnableOSSAModules,
1392-
Ctx.LangOpts.SDKName, !Ctx.LangOpts.DebuggerSupport);
1392+
Ctx.LangOpts.SDKName);
13931393
versionInfo->setVersion(metaData.userModuleVersion,
13941394
ModuleVersionSourceKind::SwiftBinaryModule);
13951395
} else {

tools/lldb-moduleimport-test/lldb-moduleimport-test.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ static bool validateModule(
5151
llvm::SmallVectorImpl<swift::serialization::SearchPath> &searchPaths) {
5252
info = swift::serialization::validateSerializedAST(
5353
data, requiresOSSAModules,
54-
/*requiredSDK*/ StringRef(), /*requiresRevisionMatch*/ false,
55-
&extendedInfo, /* dependencies*/ nullptr, &searchPaths);
54+
/*requiredSDK*/ StringRef(), &extendedInfo, /* dependencies*/ nullptr,
55+
&searchPaths);
5656
if (info.status != swift::serialization::Status::Valid) {
5757
llvm::outs() << "error: validateSerializedAST() failed\n";
5858
return false;

0 commit comments

Comments
 (0)