Skip to content

Commit 3b38e15

Browse files
Merge pull request #70274 from adrian-prantl/117824367
Revert "Don't require a strict revision match in LLDB."
2 parents 9ee5d6b + 5ef93af commit 3b38e15

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
@@ -3234,8 +3234,7 @@ serialization::Status
32343234
CompilerInvocation::loadFromSerializedAST(StringRef data) {
32353235
serialization::ExtendedValidationInfo extendedInfo;
32363236
serialization::ValidationInfo info = serialization::validateSerializedAST(
3237-
data, getSILOptions().EnableOSSAModules, LangOpts.SDKName,
3238-
!LangOpts.DebuggerSupport, &extendedInfo);
3237+
data, getSILOptions().EnableOSSAModules, LangOpts.SDKName, &extendedInfo);
32393238

32403239
if (info.status != serialization::Status::Valid)
32413240
return info.status;
@@ -3271,7 +3270,7 @@ CompilerInvocation::setUpInputForSILTool(
32713270

32723271
auto result = serialization::validateSerializedAST(
32733272
fileBufOrErr.get()->getBuffer(), getSILOptions().EnableOSSAModules,
3274-
LangOpts.SDKName, !LangOpts.DebuggerSupport, &extendedInfo);
3273+
LangOpts.SDKName, &extendedInfo);
32753274
bool hasSerializedAST = result.status == serialization::Status::Valid;
32763275

32773276
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)