Files
swift-mirror/lib/Sema/CMakeLists.txt
John McCall 186c53000d Introduce basic support for custom executors.
- 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
2021-04-30 03:11:56 -04:00

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)