mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
- Introduce an UnownedSerialExecutor type into the concurrency library. - Create a SerialExecutor protocol which allows an executor type to change how it executes jobs. - Add an unownedExecutor requirement to the Actor protocol. - Change the ABI for ExecutorRef so that it stores a SerialExecutor witness table pointer in the implementation field. This effectively makes ExecutorRef an `unowned(unsafe) SerialExecutor`, except that default actors are represented without a witness table pointer (just a bit-pattern). - Synthesize the unownedExecutor method for default actors (i.e. actors that don't provide an unownedExecutor property). - Make synthesized unownedExecutor properties `final`, and give them a semantics attribute specifying that they're for default actors. - Split `Builtin.buildSerialExecutorRef` into a few more precise builtins. We're not using the main-actor one yet, though. Pitch thread: https://forums.swift.org/t/support-custom-executors-in-swift-concurrency/44425
80 lines
2.0 KiB
CMake
80 lines
2.0 KiB
CMake
set_swift_llvm_is_available()
|
|
add_swift_host_library(swiftSema STATIC
|
|
BuilderTransform.cpp
|
|
CSApply.cpp
|
|
CSBindings.cpp
|
|
CSClosure.cpp
|
|
CSGen.cpp
|
|
CSRanking.cpp
|
|
CSSimplify.cpp
|
|
CSSolver.cpp
|
|
CSStep.cpp
|
|
CSFix.cpp
|
|
CSDiagnostics.cpp
|
|
CodeSynthesis.cpp
|
|
ConstantnessSemaDiagnostics.cpp
|
|
Constraint.cpp
|
|
ConstraintGraph.cpp
|
|
ConstraintLocator.cpp
|
|
ConstraintSystem.cpp
|
|
DebuggerTestingTransform.cpp
|
|
DerivedConformanceActor.cpp
|
|
DerivedConformanceAdditiveArithmetic.cpp
|
|
DerivedConformanceCaseIterable.cpp
|
|
DerivedConformanceCodable.cpp
|
|
DerivedConformanceCodingKey.cpp
|
|
DerivedConformanceDifferentiable.cpp
|
|
DerivedConformanceEquatableHashable.cpp
|
|
DerivedConformanceComparable.cpp
|
|
DerivedConformanceError.cpp
|
|
DerivedConformanceRawRepresentable.cpp
|
|
DerivedConformances.cpp
|
|
ImportResolution.cpp
|
|
InstrumenterSupport.cpp
|
|
LookupVisibleDecls.cpp
|
|
MiscDiagnostics.cpp
|
|
PCMacro.cpp
|
|
PlaygroundTransform.cpp
|
|
PreCheckExpr.cpp
|
|
ResilienceDiagnostics.cpp
|
|
SourceLoader.cpp
|
|
TypeCheckAccess.cpp
|
|
TypeCheckAttr.cpp
|
|
TypeCheckAvailability.cpp
|
|
TypeCheckCaptures.cpp
|
|
TypeCheckCircularity.cpp
|
|
TypeCheckCodeCompletion.cpp
|
|
TypeCheckConcurrency.cpp
|
|
TypeCheckConstraints.cpp
|
|
TypeCheckDecl.cpp
|
|
TypeCheckDeclObjC.cpp
|
|
TypeCheckDeclOverride.cpp
|
|
TypeCheckDeclPrimary.cpp
|
|
TypeCheckEffects.cpp
|
|
TypeCheckExpr.cpp
|
|
TypeCheckExprObjC.cpp
|
|
TypeCheckGeneric.cpp
|
|
TypeCheckNameLookup.cpp
|
|
TypeCheckPattern.cpp
|
|
TypeCheckPropertyWrapper.cpp
|
|
TypeCheckProtocol.cpp
|
|
TypeCheckProtocolInference.cpp
|
|
TypeCheckRequestFunctions.cpp
|
|
TypeCheckStmt.cpp
|
|
TypeCheckStorage.cpp
|
|
TypeCheckSwitchStmt.cpp
|
|
TypeCheckType.cpp
|
|
TypeChecker.cpp
|
|
IDETypeCheckingRequests.cpp)
|
|
if(SWIFT_FORCE_OPTIMIZED_TYPECHECKER)
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL MSVC)
|
|
target_compile_options(swiftSema PRIVATE /O2 /Ob2)
|
|
else()
|
|
target_compile_options(swiftSema PRIVATE -O3)
|
|
endif()
|
|
endif()
|
|
target_link_libraries(swiftSema PRIVATE
|
|
swiftAST
|
|
swiftParse
|
|
swiftSerialization)
|