Skip to content

Commit a7e8620

Browse files
committed
ABI/API checker: include SDK version number when generating diagnostic baselines
1 parent 9748a5a commit a7e8620

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

tools/swift-api-digester/ModuleAnalyzerNodes.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,8 @@ SDKNode *SDKNodeRoot::getInstance(SDKContext &Ctx) {
395395
SDKNodeInitInfo Info(Ctx);
396396
Info.Name = Ctx.buffer("TopLevel");
397397
Info.PrintedName = Ctx.buffer("TopLevel");
398-
Info.ToolArgs = Ctx.getOpts().ToolArgs;
398+
llvm::transform(Ctx.getOpts().ToolArgs, std::back_inserter(Info.ToolArgs),
399+
[&](std::string s) { return Ctx.buffer(s); });
399400
Info.JsonFormatVer = DIGESTER_JSON_VERSION;
400401
return Info.createSDKNode(SDKNodeKind::Root);
401402
}

tools/swift-api-digester/ModuleAnalyzerNodes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ struct CheckerOptions {
156156
bool SkipOSCheck;
157157
bool Migrator;
158158
StringRef LocationFilter;
159-
std::vector<StringRef> ToolArgs;
159+
std::vector<std::string> ToolArgs;
160160
};
161161

162162
class SDKContext {

tools/swift-api-digester/swift-api-digester.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2522,7 +2522,15 @@ static CheckerOptions getCheckOpts(int argc, char *argv[]) {
25222522
Opts.SwiftOnly = options::SwiftOnly;
25232523
Opts.SkipOSCheck = options::DisableOSChecks;
25242524
for (int i = 1; i < argc; ++i)
2525-
Opts.ToolArgs.push_back(StringRef(argv[i]));
2525+
Opts.ToolArgs.push_back(argv[i]);
2526+
2527+
if (!options::SDK.empty()) {
2528+
auto Ver = getSDKVersion(options::SDK);
2529+
if (!Ver.empty()) {
2530+
Opts.ToolArgs.push_back("-sdk-version");
2531+
Opts.ToolArgs.push_back(Ver);
2532+
}
2533+
}
25262534
return Opts;
25272535
}
25282536

0 commit comments

Comments
 (0)