Skip to content

Commit e51c88d

Browse files
authored
Merge pull request #39928 from xymus/driver-check-api-only
[Driver] Move the flag -check-api-availability-only to the driver
2 parents 94355be + c4f226e commit e51c88d

File tree

5 files changed

+7
-5
lines changed

5 files changed

+7
-5
lines changed

include/swift/Option/FrontendOptions.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -469,10 +469,6 @@ def disable_availability_checking : Flag<["-"],
469469
"disable-availability-checking">,
470470
HelpText<"Disable checking for potentially unavailable APIs">;
471471

472-
def check_api_availability_only : Flag<["-"],
473-
"check-api-availability-only">,
474-
HelpText<"Only check the availability of the APIs, ignore function bodies">;
475-
476472
def enable_conformance_availability_errors : Flag<["-"],
477473
"enable-conformance-availability-errors">,
478474
HelpText<"Diagnose conformance availability violations as errors">;

include/swift/Option/Options.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,10 @@ def define_availability : Separate<["-"], "define-availability">,
422422
HelpText<"Define an availability macro in the format 'macroName : iOS 13.0, macOS 10.15'">,
423423
MetaVarName<"<macro>">;
424424

425+
def check_api_availability_only : Flag<["-"], "check-api-availability-only">,
426+
Flags<[HelpHidden, FrontendOption, NoInteractiveOption]>,
427+
HelpText<"Only check the availability of the APIs, ignore function bodies">;
428+
425429
def library_level : Separate<["-"], "library-level">,
426430
MetaVarName<"<level>">,
427431
Flags<[HelpHidden, FrontendOption, ModuleInterfaceOption]>,

lib/Driver/ToolChains.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ void ToolChain::addCommonFrontendArgs(const OutputInfo &OI,
242242
inputArgs.AddLastArg(arguments, options::OPT_require_explicit_availability);
243243
inputArgs.AddLastArg(arguments, options::OPT_require_explicit_availability_target);
244244
inputArgs.AddLastArg(arguments, options::OPT_require_explicit_sendable);
245+
inputArgs.AddLastArg(arguments, options::OPT_check_api_availability_only);
245246
inputArgs.AddLastArg(arguments, options::OPT_enable_testing);
246247
inputArgs.AddLastArg(arguments, options::OPT_enable_private_imports);
247248
inputArgs.AddLastArg(arguments, options::OPT_g_Group);

test/Sema/api-availability-only-ok.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
// RUN: %empty-directory(%t)
55

6-
// RUN: %swiftc_driver -emit-module %s -target %target-cpu-apple-macosx10.15 -emit-module-interface -emit-module-interface-path %t/main.swiftinterface -enable-library-evolution -Xfrontend -check-api-availability-only -verify-emitted-module-interface
6+
// RUN: %swiftc_driver -emit-module %s -target %target-cpu-apple-macosx10.15 -emit-module-interface -emit-module-interface-path %t/main.swiftinterface -enable-library-evolution -check-api-availability-only -verify-emitted-module-interface
77
// RUN: %target-swift-frontend -typecheck-module-from-interface %t/main.swiftinterface
88

99
// REQUIRES: OS=macosx

test/Sema/api-availability-only.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
// RUN: %target-typecheck-verify-swift -module-name MyModule -target %target-cpu-apple-macosx10.15 -check-api-availability-only -enable-library-evolution
55

6+
/// The flag -check-api-availability-only should reject builds going up to IR and further.
67
// RUN: not %target-build-swift -emit-executable %s -g -o %t -emit-module -Xfrontend -check-api-availability-only 2>&1 | %FileCheck %s
78
// CHECK: the flag -check-api-availability-only does not support emitting IR
89

0 commit comments

Comments
 (0)