mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge pull request #85835 from MaxDesiatov/embedded-wasm-mutex
This commit is contained in:
@@ -192,13 +192,24 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
|
|||||||
if(SWIFT_EMBEDDED_STDLIB_SDKS_FOR_TARGET_TRIPLES)
|
if(SWIFT_EMBEDDED_STDLIB_SDKS_FOR_TARGET_TRIPLES)
|
||||||
set(SWIFT_SDK_embedded_ARCH_${arch}_PATH "${EMBEDDED_STDLIB_SDK_FOR_${triple}}")
|
set(SWIFT_SDK_embedded_ARCH_${arch}_PATH "${EMBEDDED_STDLIB_SDK_FOR_${triple}}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES)
|
||||||
|
|
||||||
|
if("${arch}" MATCHES "wasm32")
|
||||||
|
list(APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_SOURCES})
|
||||||
|
list(APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_WASM_SOURCES})
|
||||||
|
else()
|
||||||
|
list(APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_ATOMIC_SOURCES})
|
||||||
|
endif()
|
||||||
|
|
||||||
add_swift_target_library_single(
|
add_swift_target_library_single(
|
||||||
embedded-synchronization-${mod}
|
embedded-synchronization-${mod}
|
||||||
swiftSynchronization
|
swiftSynchronization
|
||||||
ONLY_SWIFTMODULE
|
ONLY_SWIFTMODULE
|
||||||
IS_FRAGILE
|
IS_FRAGILE
|
||||||
|
|
||||||
${SWIFT_SYNCHRONIZATION_ATOMIC_SOURCES}
|
${SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES}
|
||||||
|
|
||||||
GYB_SOURCES
|
GYB_SOURCES
|
||||||
${SWIFT_SYNCHRONIZATION_GYB_SOURCES}
|
${SWIFT_SYNCHRONIZATION_GYB_SOURCES}
|
||||||
|
|
||||||
|
|||||||
21
test/embedded/wasm/mutex.swift
Normal file
21
test/embedded/wasm/mutex.swift
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
// RUN: %target-run-simple-swift(-enable-experimental-feature Embedded -parse-as-library -wmo) | %FileCheck %s
|
||||||
|
|
||||||
|
// REQUIRES: executable_test
|
||||||
|
// REQUIRES: OS=wasip1
|
||||||
|
// REQUIRES: swift_feature_Embedded
|
||||||
|
|
||||||
|
import Synchronization
|
||||||
|
@main struct Main {
|
||||||
|
static func main() {
|
||||||
|
let m = Mutex(42)
|
||||||
|
|
||||||
|
m.withLock {
|
||||||
|
print("Hello \($0)") // CHECK: Hello 42
|
||||||
|
$0 = 37
|
||||||
|
}
|
||||||
|
|
||||||
|
m.withLock {
|
||||||
|
print("Hello \($0)") // CHECK: Hello 37
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user