Skip to content

Commit 34322b3

Browse files
committed
[Backtracing] Remove support for implicit import of _Backtracing.
We're going to rename the module to Runtime, and it isn't going to be an implicit import, so we don't need any of this. rdar://124913332
1 parent 293842a commit 34322b3

File tree

18 files changed

+4
-154
lines changed

18 files changed

+4
-154
lines changed

CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -695,10 +695,6 @@ option(SWIFT_IMPLICIT_CONCURRENCY_IMPORT
695695
"Implicitly import the Swift concurrency module"
696696
TRUE)
697697

698-
option(SWIFT_IMPLICIT_BACKTRACING_IMPORT
699-
"Implicitly import the Swift backtracing module"
700-
FALSE)
701-
702698
option(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY
703699
"Enable build of the Swift concurrency module"
704700
FALSE)
@@ -869,11 +865,6 @@ if (CMAKE_Swift_COMPILER)
869865
SWIFT_SUPPORTS_DISABLE_IMPLICIT_STRING_PROCESSING_MODULE_IMPORT)
870866
message(STATUS " Implicit 'string-processing' import: ${SWIFT_SUPPORTS_DISABLE_IMPLICIT_STRING_PROCESSING_MODULE_IMPORT}")
871867

872-
# Same for _Backtracing.
873-
swift_supports_implicit_module("backtracing"
874-
SWIFT_SUPPORTS_DISABLE_IMPLICIT_BACKTRACING_MODULE_IMPORT)
875-
message(STATUS " Implicit 'backtracing' import: ${SWIFT_SUPPORTS_DISABLE_IMPLICIT_BACKTRACING_MODULE_IMPORT}")
876-
877868
swift_get_package_cmo_support(
878869
Swift_COMPILER_PACKAGE_CMO_SUPPORT)
879870
message(STATUS " Package CMO: ${Swift_COMPILER_PACKAGE_CMO_SUPPORT}")

cmake/modules/AddPureSwift.cmake

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,7 @@ function(_add_host_swift_compile_options name)
2828
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>")
2929
endif()
3030

31-
# Same for backtracing
32-
if (SWIFT_SUPPORTS_DISABLE_IMPLICIT_BACKTRACING_MODULE_IMPORT)
33-
target_compile_options(${name} PRIVATE
34-
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-backtracing-module-import>")
35-
endif()
36-
37-
if(SWIFT_ANALYZE_CODE_COVERAGE)
31+
if(SWIFT_ANALYZE_CODE_COVERAGE)
3832
set(_cov_flags $<$<COMPILE_LANGUAGE:Swift>:-profile-generate -profile-coverage-mapping>)
3933
target_compile_options(${name} PRIVATE ${_cov_flags})
4034
target_link_options(${name} PRIVATE ${_cov_flags})

include/swift/AST/DiagnosticsFrontend.def

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,6 @@ WARNING(warn_implicit_concurrency_import_failed,none,
178178
"unable to perform implicit import of \"_Concurrency\" module: no such module found", ())
179179
REMARK(warn_implicit_string_processing_import_failed,none,
180180
"unable to perform implicit import of \"_StringProcessing\" module: no such module found", ())
181-
REMARK(warn_implicit_backtracing_import_failed,none,
182-
"unable to perform implicit import of \"_Backtracing\" module: no such module found", ())
183181

184182
ERROR(error_bad_module_name,none,
185183
"module name \"%0\" is not a valid identifier"

include/swift/Basic/LangOptions.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,10 +421,6 @@ namespace swift {
421421
/// Disable the implicit import of the _StringProcessing module.
422422
bool DisableImplicitStringProcessingModuleImport = false;
423423

424-
/// Disable the implicit import of the _Backtracing module.
425-
bool DisableImplicitBacktracingModuleImport =
426-
!SWIFT_IMPLICIT_BACKTRACING_IMPORT;
427-
428424
/// Disable the implicit import of the Cxx module.
429425
bool DisableImplicitCxxModuleImport = false;
430426

include/swift/Config.h.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010

1111
#cmakedefine01 SWIFT_IMPLICIT_CONCURRENCY_IMPORT
1212

13-
#cmakedefine01 SWIFT_IMPLICIT_BACKTRACING_IMPORT
14-
1513
#cmakedefine01 SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED
1614

1715
#cmakedefine01 SWIFT_ENABLE_GLOBAL_ISEL_ARM64

include/swift/Frontend/Frontend.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -416,10 +416,6 @@ class CompilerInvocation {
416416
/// imported.
417417
bool shouldImportSwiftStringProcessing() const;
418418

419-
/// Whether the Swift Backtracing support library should be implicitly
420-
/// imported.
421-
bool shouldImportSwiftBacktracing() const;
422-
423419
/// Whether the CXX module should be implicitly imported.
424420
bool shouldImportCxx() const;
425421

@@ -670,14 +666,6 @@ class CompilerInstance {
670666
/// i.e. if it can be found.
671667
bool canImportSwiftStringProcessing() const;
672668

673-
/// Verify that if an implicit import of the `Backtracing` module if
674-
/// expected, it can actually be imported. Emit a warning, otherwise.
675-
void verifyImplicitBacktracingImport();
676-
677-
/// Whether the Swift Backtracing support library can be imported
678-
/// i.e. if it can be found.
679-
bool canImportSwiftBacktracing() const;
680-
681669
/// Whether the Cxx library can be imported
682670
bool canImportCxx() const;
683671

include/swift/Option/FrontendOptions.td

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -517,14 +517,6 @@ def disable_implicit_string_processing_module_import : Flag<["-"],
517517
"disable-implicit-string-processing-module-import">,
518518
HelpText<"Disable the implicit import of the _StringProcessing module.">;
519519

520-
def enable_implicit_backtracing_module_import : Flag<["-"],
521-
"enable-implicit-backtracing-module-import">,
522-
HelpText<"Enable the implicit import of the _Backtracing module.">;
523-
524-
def disable_implicit_backtracing_module_import : Flag<["-"],
525-
"disable-implicit-backtracing-module-import">,
526-
HelpText<"Disable the implicit import of the _Backtracing module.">;
527-
528520
def disable_implicit_cxx_module_import : Flag<["-"],
529521
"disable-implicit-cxx-module-import">,
530522
HelpText<"Disable the implicit import of the C++ Standard Library module.">;

include/swift/Strings.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ constexpr static const StringLiteral SWIFT_MODULE_ABI_NAME_PREFIX = "Compiler";
3333
constexpr static const StringLiteral SWIFT_DISTRIBUTED_NAME = "Distributed";
3434
/// The name of the StringProcessing module, which supports that extension.
3535
constexpr static const StringLiteral SWIFT_STRING_PROCESSING_NAME = "_StringProcessing";
36-
/// The name of the Backtracing module, which supports that extension.
37-
constexpr static const StringLiteral SWIFT_BACKTRACING_NAME = "_Backtracing";
3836
/// The name of the SwiftShims module, which contains private stdlib decls.
3937
constexpr static const StringLiteral SWIFT_SHIMS_NAME = "SwiftShims";
4038
/// The name of the CxxShim module, which contains a cxx casting utility.

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -945,11 +945,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
945945
Opts.DisableImplicitCxxModuleImport |=
946946
Args.hasArg(OPT_disable_implicit_cxx_module_import);
947947

948-
Opts.DisableImplicitBacktracingModuleImport =
949-
Args.hasFlag(OPT_disable_implicit_backtracing_module_import,
950-
OPT_enable_implicit_backtracing_module_import,
951-
true);
952-
953948
if (Args.hasArg(OPT_enable_experimental_async_top_level))
954949
Diags.diagnose(SourceLoc(), diag::warn_flag_deprecated,
955950
"-enable-experimental-async-top-level");

lib/Frontend/Frontend.cpp

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,20 +1126,6 @@ bool CompilerInvocation::shouldImportSwiftStringProcessing() const {
11261126
FrontendOptions::ParseInputMode::SwiftModuleInterface;
11271127
}
11281128

1129-
/// Enable Swift backtracing on a per-target basis
1130-
static bool shouldImportSwiftBacktracingByDefault(const llvm::Triple &target) {
1131-
if (target.isOSDarwin() || target.isOSWindows() || target.isOSLinux())
1132-
return true;
1133-
return false;
1134-
}
1135-
1136-
bool CompilerInvocation::shouldImportSwiftBacktracing() const {
1137-
return shouldImportSwiftBacktracingByDefault(getLangOptions().Target) &&
1138-
!getLangOptions().DisableImplicitBacktracingModuleImport &&
1139-
getFrontendOptions().InputMode !=
1140-
FrontendOptions::ParseInputMode::SwiftModuleInterface;
1141-
}
1142-
11431129
bool CompilerInvocation::shouldImportCxx() const {
11441130
// C++ Interop is disabled
11451131
if (!getLangOptions().EnableCXXInterop)
@@ -1226,21 +1212,6 @@ bool CompilerInstance::canImportSwiftStringProcessing() const {
12261212
return getASTContext().testImportModule(modulePath);
12271213
}
12281214

1229-
void CompilerInstance::verifyImplicitBacktracingImport() {
1230-
if (Invocation.shouldImportSwiftBacktracing() &&
1231-
!canImportSwiftBacktracing()) {
1232-
Diagnostics.diagnose(SourceLoc(),
1233-
diag::warn_implicit_backtracing_import_failed);
1234-
}
1235-
}
1236-
1237-
bool CompilerInstance::canImportSwiftBacktracing() const {
1238-
ImportPath::Module::Builder builder(
1239-
getASTContext().getIdentifier(SWIFT_BACKTRACING_NAME));
1240-
auto modulePath = builder.get();
1241-
return getASTContext().testImportModule(modulePath);
1242-
}
1243-
12441215
bool CompilerInstance::canImportCxx() const {
12451216
ImportPath::Module::Builder builder(
12461217
getASTContext().getIdentifier(CXX_MODULE_NAME));
@@ -1338,19 +1309,6 @@ ImplicitImportInfo CompilerInstance::getImplicitImportInfo() const {
13381309
}
13391310
}
13401311

1341-
if (Invocation.shouldImportSwiftBacktracing()) {
1342-
switch (imports.StdlibKind) {
1343-
case ImplicitStdlibKind::Builtin:
1344-
case ImplicitStdlibKind::None:
1345-
break;
1346-
1347-
case ImplicitStdlibKind::Stdlib:
1348-
if (canImportSwiftBacktracing())
1349-
pushImport(SWIFT_BACKTRACING_NAME);
1350-
break;
1351-
}
1352-
}
1353-
13541312
if (Invocation.getLangOptions().EnableCXXInterop) {
13551313
if (Invocation.shouldImportCxx() && canImportCxx())
13561314
pushImport(CXX_MODULE_NAME);

stdlib/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,6 @@ swift_create_stdlib_targets("swift-test-stdlib" "" FALSE)
228228
swift_create_stdlib_targets("swift-libexec" "" TRUE)
229229
swift_create_stdlib_targets("swift-test-libexec" "" FALSE)
230230

231-
# Check whether the Swift compiler we're using supports
232-
# -disable-implicit-backtracing-module-import
233-
include(SwiftCompilerCapability)
234-
235-
swift_supports_implicit_module("backtracing" SWIFT_COMPILER_SUPPORTS_BACKTRACING)
236-
237231
# FIXME: Include the toolchain directory before the public directory. Otherwise
238232
# the clang resource directory symlink stops installing correctly.
239233
add_subdirectory(toolchain)

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2084,11 +2084,6 @@ function(add_swift_target_library name)
20842084
# Turn off implicit import of _StringProcessing when building libraries
20852085
list(APPEND SWIFTLIB_SWIFT_COMPILE_FLAGS "-Xfrontend;-disable-implicit-string-processing-module-import")
20862086

2087-
# Turn off implicit import of _Backtracing when building libraries
2088-
if(SWIFT_COMPILER_SUPPORTS_BACKTRACING)
2089-
list(APPEND SWIFTLIB_SWIFT_COMPILE_FLAGS "-Xfrontend;-disable-implicit-backtracing-module-import")
2090-
endif()
2091-
20922087
if(SWIFTLIB_IS_STDLIB AND SWIFT_STDLIB_ENABLE_PRESPECIALIZATION)
20932088
list(APPEND SWIFTLIB_SWIFT_COMPILE_FLAGS "-Xfrontend;-prespecialize-generic-metadata")
20942089
endif()
@@ -3119,10 +3114,6 @@ function(add_swift_target_executable name)
31193114
"-Xfrontend;-disable-implicit-string-processing-module-import")
31203115
endif()
31213116

3122-
if(SWIFT_IMPLICIT_BACKTRACING_IMPORT)
3123-
list(APPEND SWIFTEXE_TARGET_COMPILE_FLAGS "-Xfrontend;-disable-implicit-backtracing-module-import")
3124-
endif()
3125-
31263117
if(SWIFT_BUILD_STDLIB)
31273118
# All Swift executables depend on the standard library.
31283119
list(APPEND SWIFTEXE_TARGET_SWIFT_MODULE_DEPENDS Core)

test/Backtracing/SimpleBacktrace.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-build-swift %s -Xfrontend -enable-implicit-backtracing-module-import -parse-as-library -Onone -o %t/SimpleBacktrace
2+
// RUN: %target-build-swift %s -Xfrontend -parse-as-library -Onone -o %t/SimpleBacktrace
33
// RUN: %target-codesign %t/SimpleBacktrace
44
// RUN: %target-run %t/SimpleBacktrace | %FileCheck %s
55

@@ -10,6 +10,8 @@
1010
// UNSUPPORTED: use_os_stdlib
1111
// UNSUPPORTED: back_deployment_runtime
1212

13+
import _Backtracing
14+
1315
func level1() {
1416
level2()
1517
}

tools/SourceKit/tools/sourcekitd-test/Options.td

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,6 @@ def disable_implicit_string_processing_module_import : Flag<["-"],
116116
"disable-implicit-string-processing-module-import">,
117117
HelpText<"Disable implicit import of the _StringProcessing module">;
118118

119-
def enable_implicit_backtracing_module_import : Flag<["-"],
120-
"enable-implicit-backtracing-module-import">,
121-
HelpText<"Enable implicit import of the _Backtracing module">;
122-
123-
def disable_implicit_backtracing_module_import : Flag<["-"],
124-
"disable-implicit-backtracing-module-import">,
125-
HelpText<"Disable implicit import of the _Backtracing module">;
126-
127119
def end_pos : Separate<["-"], "end-pos">, HelpText<"line:col">;
128120
def end_pos_EQ : Joined<["-"], "end-pos=">, Alias<end_pos>;
129121

tools/SourceKit/tools/sourcekitd-test/TestOptions.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,10 +464,6 @@ bool TestOptions::parseArgs(llvm::ArrayRef<const char *> Args) {
464464
DisableImplicitStringProcessingModuleImport = true;
465465
break;
466466

467-
case OPT_disable_implicit_backtracing_module_import:
468-
DisableImplicitBacktracingModuleImport = true;
469-
break;
470-
471467
case OPT_UNKNOWN:
472468
llvm::errs() << "error: unknown argument: "
473469
<< InputArg->getAsString(ParsedArgs) << '\n'

tools/SourceKit/tools/sourcekitd-test/TestOptions.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ struct TestOptions {
135135
bool measureInstructions = false;
136136
bool DisableImplicitConcurrencyModuleImport = false;
137137
bool DisableImplicitStringProcessingModuleImport = false;
138-
bool EnableImplicitBacktracingModuleImport = false;
139-
bool DisableImplicitBacktracingModuleImport = false;
140138
std::optional<unsigned> CompletionCheckDependencyInterval;
141139
unsigned repeatRequest = 1;
142140
struct VFSFile {

tools/SourceKit/tools/sourcekitd-test/sourcekitd-test.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,20 +1222,6 @@ static int handleTestInvocation(TestOptions Opts, TestOptions &InitOpts) {
12221222
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND,
12231223
"-disable-implicit-string-processing-module-import");
12241224
}
1225-
if (Opts.EnableImplicitBacktracingModuleImport &&
1226-
!compilerArgsAreClang) {
1227-
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND,
1228-
"-Xfrontend");
1229-
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND,
1230-
"-enable-implicit-backtracing-module-import");
1231-
}
1232-
if (Opts.DisableImplicitBacktracingModuleImport &&
1233-
!compilerArgsAreClang) {
1234-
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND,
1235-
"-Xfrontend");
1236-
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND,
1237-
"-disable-implicit-backtracing-module-import");
1238-
}
12391225

12401226
for (auto Arg : Opts.CompilerArgs)
12411227
sourcekitd_request_array_set_string(Args, SOURCEKITD_ARRAY_APPEND, Arg);

tools/swift-ide-test/swift-ide-test.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -823,16 +823,6 @@ DisableImplicitStringProcessingImport("disable-implicit-string-processing-module
823823
llvm::cl::desc("Disable implicit import of _StringProcessing module"),
824824
llvm::cl::init(false));
825825

826-
static llvm::cl::opt<bool>
827-
EnableImplicitBacktracingImport("enable-implicit-backtracing-module-import",
828-
llvm::cl::desc("Enable implicit import of _Backtracing module"),
829-
llvm::cl::init(false));
830-
831-
static llvm::cl::opt<bool>
832-
DisableImplicitBacktracingImport("disable-implicit-backtracing-module-import",
833-
llvm::cl::desc("Disable implicit import of _Backtracing module"),
834-
llvm::cl::init(false));
835-
836826
static llvm::cl::opt<bool> EnableExperimentalNamedOpaqueTypes(
837827
"enable-experimental-named-opaque-types",
838828
llvm::cl::desc("Enable experimental support for named opaque result types"),
@@ -4439,13 +4429,6 @@ int main(int argc, char *argv[]) {
44394429
if (options::DisableImplicitStringProcessingImport) {
44404430
InitInvok.getLangOptions().DisableImplicitStringProcessingModuleImport = true;
44414431
}
4442-
if (options::DisableImplicitBacktracingImport) {
4443-
InitInvok.getLangOptions().DisableImplicitBacktracingModuleImport = true;
4444-
} else if (options::EnableImplicitBacktracingImport) {
4445-
InitInvok.getLangOptions().DisableImplicitBacktracingModuleImport = false;
4446-
} else {
4447-
InitInvok.getLangOptions().DisableImplicitBacktracingModuleImport = true;
4448-
}
44494432

44504433
if (options::EnableExperimentalNamedOpaqueTypes) {
44514434
InitInvok.getLangOptions().enableFeature(Feature::NamedOpaqueTypes);

0 commit comments

Comments
 (0)