Skip to content

Commit 798c0f5

Browse files
authored
Merge branch 'main' into temp-branch
2 parents 288c6d9 + ec39484 commit 798c0f5

File tree

1,664 files changed

+33851
-17001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,664 files changed

+33851
-17001
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,15 @@
165165
/lib/SIL/IR/SILDebug* @adrian-prantl
166166
/lib/SIL/IR/SILLocation* @adrian-prantl
167167
/lib/SIL/IR/SILProfiler.cpp @bnbarham @hamishknight @rintaro
168-
/lib/SILGen/ @jckarter
168+
/lib/SILGen/ @jckarter @kavon
169169
/lib/SILGen/*Availability* @tshortli
170170
/lib/SILGen/*Distributed* @ktoso
171171
/lib/SILOptimizer/ @eeckstein
172172
/lib/SILOptimizer/**/*DebugInfo* @adrian-prantl
173173
/lib/SILOptimizer/Mandatory/ConsumeOperator* @kavon
174174
/lib/SILOptimizer/Mandatory/FlowIsolation.cpp @kavon
175175
/lib/SILOptimizer/Mandatory/MoveOnly* @kavon
176+
/lib/SILOptimizer/Mandatory/AddressLowering* @kavon
176177
/lib/SILOptimizer/Utils/Distributed* @ktoso
177178
/lib/Sema/ @hborla @slavapestov @xedin
178179
/lib/Sema/*Availability* @tshortli
@@ -291,10 +292,16 @@
291292

292293
# utils
293294
/utils/*windows* @compnerd
295+
/utils/availability-macros.def @swiftlang/standard-librarians
294296
/utils/build.ps1 @compnerd
295297
/utils/build_swift/ @etcwilde @justice-adams-apple @shahmishal
296298
/utils/generate-xcode @hamishknight
299+
/utils/gen-unicode-data @swiftlang/standard-librarians
300+
/utils/gyb @swiftlang/standard-librarians
301+
/utils/gyb_foundation_support.py @swiftlang/standard-librarians
297302
/utils/gyb_sourcekit_support/ @bnbarham @hamishknight @rintaro
303+
/utils/gyb_stdlib_support.py @swiftlang/standard-librarians
304+
/utils/gyb.py @swiftlang/standard-librarians
298305
/utils/sourcekit_fuzzer/ @bnbarham @hamishknight @rintaro
299306
/utils/swift-xcodegen/ @hamishknight
300307
/utils/swift_build_support/ @etcwilde @justice-adams-apple @shahmishal

CMakeLists.txt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,17 @@ set(COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_WATCHOS "2.0")
630630
set(COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_XROS "1.0")
631631
set(COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_MACCATALYST "13.1")
632632

633+
set(SWIFT_DARWIN_TEST_DEPLOYMENT_VERSION_OSX "${SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX}" CACHE STRING
634+
"Deployment target version for building macOS tests")
635+
set(SWIFT_DARWIN_TEST_DEPLOYMENT_VERSION_IOS "${SWIFT_DARWIN_DEPLOYMENT_VERSION_IOS}" CACHE STRING
636+
"Deployment target version for building iOS tests")
637+
set(SWIFT_DARWIN_TEST_DEPLOYMENT_VERSION_TVOS "${SWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS}" CACHE STRING
638+
"Deployment target version for building tvOS tests")
639+
set(SWIFT_DARWIN_TEST_DEPLOYMENT_VERSION_WATCHOS "${SWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS}" CACHE STRING
640+
"Deployment target version for building watchOS tests")
641+
set(SWIFT_DARWIN_TEST_DEPLOYMENT_VERSION_XROS "${SWIFT_DARWIN_DEPLOYMENT_VERSION_XROS}" CACHE STRING
642+
"Deployment target version for building visionOS tests")
643+
633644
#
634645
# User-configurable debugging options.
635646
#
@@ -824,6 +835,9 @@ elseif(UNIX)
824835
include(UnixCompileRules)
825836
endif()
826837

838+
# Add any extra C++ compilation options that were passed down.
839+
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:${SWIFT_EXTRA_CXX_FLAGS}>)
840+
827841
if(CMAKE_C_COMPILER_ID MATCHES Clang)
828842
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Werror=gnu>)
829843
endif()
@@ -834,6 +848,19 @@ if(CMAKE_C_COMPILER_ID MATCHES Clang)
834848
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Werror=c++98-compat-extra-semi>)
835849
endif()
836850

851+
if(CMAKE_CXX_COMPILER_ID MATCHES Clang)
852+
include(CheckCXXCompilerFlag)
853+
# Check for '-fsized-deallocation', which we need in IRGen. Clang presumably
854+
# adds this flag as a requirement for C++14+ to avoid a potential source
855+
# compatibility issue with C++11 where the 2-parameter `operator delete` was
856+
# used for placement deletion.
857+
check_cxx_compiler_flag("-fsized-deallocation"
858+
CXX_SUPPORTS_FSIZED_DEALLOCATION)
859+
if(CXX_SUPPORTS_FSIZED_DEALLOCATION)
860+
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fsized-deallocation>)
861+
endif()
862+
endif()
863+
837864
option(SWIFT_BUILD_SWIFT_SYNTAX
838865
"Enable building swift syntax"
839866
FALSE)
@@ -1684,7 +1711,7 @@ if(SWIFT_ENABLE_NEW_RUNTIME_BUILD)
16841711
# To ensure incremental builds work as expected
16851712
BUILD_ALWAYS 1
16861713
CMAKE_ARGS
1687-
-DSwift_ENABLE_RUNTIMES=StringProcessing
1714+
-DSwift_ENABLE_RUNTIMES=StringProcessing|Synchronization|Distributed|Observation
16881715
-DBUILD_SHARED_LIBS=YES
16891716
-DCMAKE_Swift_COMPILER_WORKS:BOOLEAN=YES
16901717
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}

Runtimes/Core/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ defaulted_option(SwiftCore_ENABLE_COMPACT_ABSOLUTE_FUNCTION_POINTERS "Resolve ab
119119
defaulted_option(SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT "Add symbols for runtime backdeployment")
120120
defaulted_option(SwiftCore_ENABLE_STDLIB_TRACING "Enable tracing in the runtime. Assumes the presence of os_log(3) and the os_signpost(3) API.")
121121
defaulted_option(SwiftCore_ENABLE_CONCURRENCY "Enable Concurrency runtime support")
122+
defaulted_option(SwiftCore_ENABLE_REMOTE_MIRROR "Enable RemoteMirror runtime support")
122123
defaulted_set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR STRING "Default Concurrency global executor implementation")
123124
option(SwiftCore_ENABLE_COMMANDLINE_SUPPORT "Enable command line argument support" ON)
124125
option(SwiftCore_ENABLE_UNICODE_DATA "Include unicode data in Swift runtimes" ON)
@@ -225,6 +226,10 @@ endif()
225226
if(SwiftCore_ENABLE_CONCURRENCY)
226227
add_subdirectory(Concurrency)
227228
endif()
229+
if(SwiftCore_ENABLE_REMOTE_MIRROR)
230+
add_subdirectory(RemoteInspection)
231+
add_subdirectory(SwiftRemoteMirror)
232+
endif()
228233

229234
# Inter-project install info
230235
export(EXPORT SwiftCoreTargets

Runtimes/Core/Concurrency/CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ add_library(swift_Concurrency
2424
ThreadingError.cpp
2525
TracingSignpost.cpp
2626
"${PROJECT_SOURCE_DIR}/CompatibilityOverride/CompatibilityOverride.cpp"
27-
"${PROJECT_SOURCE_DIR}/linker-support/magic-symbols-for-install-name.c"
27+
"./linker-support/magic-symbols-for-install-name.c"
2828
Actor.swift
2929
AsyncCompactMapSequence.swift
3030
AsyncDropFirstSequence.swift
@@ -99,6 +99,12 @@ add_library(swift_Concurrency
9999
"${CMAKE_CURRENT_BINARY_DIR}/TaskGroup+addTask.swift"
100100
"${CMAKE_CURRENT_BINARY_DIR}/Task+immediate.swift")
101101

102+
if(APPLE)
103+
target_sources(swift_Concurrency PRIVATE
104+
CFExecutor.swift
105+
CFExecutor.cpp)
106+
endif()
107+
102108
include(${SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR}.cmake)
103109
target_compile_definitions(swift_Concurrency PRIVATE
104110
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME>
@@ -150,3 +156,7 @@ install(TARGETS swift_Concurrency
150156
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
151157
emit_swift_interface(swift_Concurrency)
152158
install_swift_interface(swift_Concurrency)
159+
160+
# Configure plist creation for Darwin platforms.
161+
generate_plist("${CMAKE_PROJECT_NAME}" "${CMAKE_PROJECT_VERSION}" swift_Concurrency)
162+
embed_manifest(swift_Concurrency)

Runtimes/Core/Demangling/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ target_compile_definitions(swiftDemangling PRIVATE
2121
# compiler, in order to avoid possible ODR violations if both are statically
2222
# linked into the same binary. (see also commit message for 5b1daa9055c99904c84862ecc313641fd9b26e63)
2323
target_compile_definitions(swiftDemangling PUBLIC
24-
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_INLINE_NAMESPACE=__runtime>)
24+
-DSWIFT_RUNTIME
25+
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_INLINE_NAMESPACE=__runtime>)
2526

2627
target_include_directories(swiftDemangling
2728
PRIVATE
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
add_library(swiftRemoteInspection OBJECT
3+
MetadataSource.cpp
4+
TypeLowering.cpp
5+
TypeRef.cpp
6+
TypeRefBuilder.cpp)
7+
target_compile_definitions(swiftRemoteInspection PRIVATE
8+
$<$<BOOL:${SwiftCore_ENABLE_REFLECTION}>:SWIFT_ENABLE_REFLECTION>)
9+
target_include_directories(swiftRemoteInspection PRIVATE
10+
"${PROJECT_BINARY_DIR}/include"
11+
"${SwiftCore_SWIFTC_SOURCE_DIR}/include")
12+
target_include_directories(swiftRemoteInspection PUBLIC
13+
"$<BUILD_INTERFACE:${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/RemoteInspection/RuntimeHeaders>")
14+
target_link_libraries(swiftRemoteInspection PRIVATE
15+
swiftDemangling
16+
$<$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>:swiftDemanglingCR>
17+
swiftLLVMSupport
18+
swiftShims)
19+
20+
if(NOT BUILD_SHARED_LIBS)
21+
install(TARGETS swiftRemoteInspection
22+
EXPORT SwiftCoreTargets
23+
COMPONENT SwiftCore_runtime)
24+
endif()

Runtimes/Core/SwiftOnoneSupport/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ install_swift_interface(swiftSwiftOnoneSupport)
4242

4343
# Configure plist creation for Darwin platforms.
4444
generate_plist("${CMAKE_PROJECT_NAME}" "${CMAKE_PROJECT_VERSION}" swiftSwiftOnoneSupport)
45+
embed_manifest(swiftSwiftOnoneSupport)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
add_library(swiftRemoteMirror
3+
SwiftRemoteMirror.cpp)
4+
target_link_libraries(swiftRemoteMirror PRIVATE
5+
swiftRemoteInspection)
6+
target_include_directories(swiftRemoteMirror PRIVATE
7+
"${PROJECT_BINARY_DIR}/include"
8+
"${SwiftCore_SWIFTC_SOURCE_DIR}/include")
9+
target_link_libraries(swiftRemoteMirror PRIVATE
10+
# FIXME(compnerd) why is this required? These should be transitively applied
11+
# from `swiftRemoteInspection`
12+
swiftDemangling
13+
$<$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>:swiftDemanglingCR>
14+
swiftLLVMSupport
15+
swiftShims)
16+
17+
install(TARGETS swiftRemoteMirror
18+
EXPORT SwiftCoreTargets
19+
COMPONENT SwiftCore_runtime
20+
ARCHIVE DESTINATION "${SwiftCore_INSTALL_LIBDIR}"
21+
LIBRARY DESTINATION "${SwiftCore_INSTALL_LIBDIR}"
22+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
23+
install(FILES
24+
${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/SwiftRemoteMirror/MemoryReaderInterface.h
25+
${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/SwiftRemoteMirror/Platform.h
26+
${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/SwiftRemoteMirror/SwiftRemoteMirror.h
27+
${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/SwiftRemoteMirror/SwiftRemoteMirrorTypes.h
28+
${SwiftCore_SWIFTC_SOURCE_DIR}/include/swift/SwiftRemoteMirror/module.modulemap
29+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/swift/SwiftRemoteMirror")
30+
31+
# Configure plist creation for Darwin platforms.
32+
generate_plist("${CMAKE_PROJECT_NAME}" "${CMAKE_PROJECT_VERSION}" swiftRemoteMirror)
33+
embed_manifest(swiftRemoteMirror)

Runtimes/Core/cmake/interface/SwiftCoreConfig.cmake.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ include("${CMAKE_CURRENT_LIST_DIR}/SwiftCoreTargets.cmake")
44
set(SwiftCore_ENABLE_LIBRARY_EVOLUTION @SwiftCore_ENABLE_LIBRARY_EVOLUTION@)
55

66
set(SwiftCore_ENABLE_VECTOR_TYPES @SwiftCore_ENABLE_VECTOR_TYPES@)
7+
8+
set(SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT @SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT@)

Runtimes/Core/cmake/modules/DefaultSettings.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@ if(APPLE)
4242
set(SwiftCore_ENABLE_RUNTIME_OS_VERSIONING_default ON)
4343
set(SwiftCore_ENABLE_OVERRIDABLE_RETAIN_RELEASE_default ON)
4444
set(SwiftCore_ENABLE_CONCURRENCY_default NO)
45+
set(SwiftCore_ENABLE_REMOTE_MIRROR_default NO)
4546
set(SwiftCore_THREADING_PACKAGE_default "DARWIN")
4647
set(SwiftCore_ENABLE_PRESPECIALIZATION_default ON)
4748
set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch")
4849
elseif(CMAKE_SYSTEM_NAME STREQUAL "WASM")
4950
set(SwiftCore_OBJECT_FORMAT_default "elf")
5051
set(SwiftCore_THREADING_PACKAGE_default "NONE")
5152
set(SwiftCore_ENABLE_CONCURRENCY_default NO)
53+
set(SwiftCore_ENABLE_REMOTE_MIRROR_default NO)
5254
set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR_default "none")
5355
elseif(LINUX OR ANDROID OR BSD)
5456
set(SwiftCore_OBJECT_FORMAT_default "elf")
@@ -62,6 +64,7 @@ elseif(LINUX OR ANDROID OR BSD)
6264
set(SwiftCore_THREADING_PACKAGE_default "PTHREADS")
6365
endif()
6466
set(SwiftCore_ENABLE_CONCURRENCY_default NO)
67+
set(SwiftCore_ENABLE_REMOTE_MIRROR_default NO)
6568
set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch")
6669
elseif(WIN32)
6770
set(SwiftCore_OBJECT_FORMAT_default "coff")
@@ -71,6 +74,7 @@ elseif(WIN32)
7174
set(SwiftCore_ENABLE_FATALERROR_BACKTRACE_default ON)
7275
set(SwiftCore_ENABLE_OVERRIDABLE_RETAIN_RELEASE_default ON)
7376
set(SwiftCore_ENABLE_CONCURRENCY_default NO)
77+
set(SwiftCore_ENABLE_REMOTE_MIRROR_default NO)
7478
set(SwiftCore_THREADING_PACKAGE_default "WIN32")
7579
set(SwiftCore_ENABLE_PRESPECIALIZATION_default ON)
7680
set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch")

0 commit comments

Comments
 (0)