File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed
stdlib/public/Synchronization Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -192,13 +192,24 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
192192 if (SWIFT_EMBEDDED_STDLIB_SDKS_FOR_TARGET_TRIPLES)
193193 set (SWIFT_SDK_embedded_ARCH_${arch} _PATH "${EMBEDDED_STDLIB_SDK_FOR_${triple} }" )
194194 endif ()
195+
196+ set (SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES)
197+
198+ if ("${arch} " MATCHES "wasm32" )
199+ list (APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_SOURCES} )
200+ list (APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_WASM_SOURCES} )
201+ else ()
202+ list (APPEND SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES ${SWIFT_SYNCHRONIZATION_ATOMIC_SOURCES} )
203+ endif ()
204+
195205 add_swift_target_library_single(
196206 embedded-synchronization-${mod}
197207 swiftSynchronization
198208 ONLY_SWIFTMODULE
199209 IS_FRAGILE
200210
201- ${SWIFT_SYNCHRONIZATION_ATOMIC_SOURCES}
211+ ${SWIFT_SYNCHRONIZATION_EMBEDDED_SOURCES}
212+
202213 GYB_SOURCES
203214 ${SWIFT_SYNCHRONIZATION_GYB_SOURCES}
204215
Original file line number Diff line number Diff line change 1+ // RUN: %target-run-simple-swift(-enable-experimental-feature Embedded -parse-as-library -wmo) | %FileCheck %s
2+
3+ // REQUIRES: executable_test
4+ // REQUIRES: OS=wasip1
5+ // REQUIRES: swift_feature_Embedded
6+
7+ import Synchronization
8+ @main struct Main {
9+ static func main( ) {
10+ let m = Mutex ( 42 )
11+
12+ m. withLock {
13+ print ( " Hello \( $0) " ) // CHECK: Hello 42
14+ $0 = 37
15+ }
16+
17+ m. withLock {
18+ print ( " Hello \( $0) " ) // CHECK: Hello 37
19+ }
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments