diff --git a/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift b/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift index eb06cca2686..44be07e2757 100644 --- a/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift +++ b/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift @@ -22,6 +22,8 @@ private import Darwin private import Glibc #elseif canImport(Musl) private import Musl +#elseif canImport(Android) +private import Android #endif #else import SwiftSyntaxMacros @@ -137,7 +139,7 @@ private func _loadLibrary(_ path: String) throws -> UnsafeMutableRawPointer { #else private func _loadLibrary(_ path: String) throws -> UnsafeMutableRawPointer { guard let dlHandle = dlopen(path, RTLD_LAZY | RTLD_LOCAL) else { - throw LibraryPluginError(message: "loader error: \(String(cString: dlerror()))") + throw LibraryPluginError(message: "loader error: \(String(cString: dlerror()!))") } return dlHandle } diff --git a/Sources/SwiftSyntax/SyntaxText.swift b/Sources/SwiftSyntax/SyntaxText.swift index 574a67fc11b..4d877962078 100644 --- a/Sources/SwiftSyntax/SyntaxText.swift +++ b/Sources/SwiftSyntax/SyntaxText.swift @@ -15,6 +15,8 @@ private import Darwin #elseif canImport(Glibc) private import Glibc +#elseif canImport(Bionic) +private import Bionic #elseif canImport(Musl) private import Musl #endif @@ -281,6 +283,8 @@ private func compareMemory( return Darwin.memcmp(s1, s2, count) == 0 #elseif canImport(Glibc) return Glibc.memcmp(s1, s2, count) == 0 + #elseif canImport(Bionic) + return Bionic.memcmp(s1, s2, count) == 0 #else return UnsafeBufferPointer(start: s1, count: count) .elementsEqual(UnsafeBufferPointer(start: s2, count: count)) diff --git a/SwiftParserCLI/Sources/swift-parser-cli/TerminalUtils.swift b/SwiftParserCLI/Sources/swift-parser-cli/TerminalUtils.swift index cb905a2754b..841e529b8b7 100644 --- a/SwiftParserCLI/Sources/swift-parser-cli/TerminalUtils.swift +++ b/SwiftParserCLI/Sources/swift-parser-cli/TerminalUtils.swift @@ -14,6 +14,8 @@ import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #elseif os(Windows) import CRT #else diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift index 526f4a2f8a8..e88611cbf96 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift @@ -24,7 +24,7 @@ class SigIntListener { /// Registers a `SIGINT` signal handler that forwards `SIGINT` to all /// subprocesses that are registered in `runningSubprocesses` static func registerSigIntSubprocessTerminationHandler() { - #if canImport(Darwin) || canImport(Glibc) + #if canImport(Darwin) || canImport(Glibc) || canImport(Bionic) signal(SIGINT) { _ in SigIntListener.hasReceivedSigInt = true for process in SigIntListener.runningSubprocesses {