Merge pull request #85835 from MaxDesiatov/embedded-wasm-mutex

This commit is contained in:
Max Desiatov
2025-12-06 13:35:39 +00:00
committed by GitHub
2 changed files with 33 additions and 1 deletions

View File

@@ -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}

View 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
}
}
}