Files
swift-mirror/stdlib/toolchain/Compatibility56/CompatibilityOverrideConcurrency.def
2024-07-06 13:09:57 +02:00

359 lines
16 KiB
C++

//===--- CompatibilityOverridesConcurrency.def - Overrides Info -*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2018 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines x-macros used for metaprogramming with the set of
// compatibility override functions.
//
//===----------------------------------------------------------------------===//
/// #define OVERRIDE(name, ret, attrs, ccAttrs, namespace, typedArgs, namedArgs)
/// Provides information about an overridable function.
/// - name is the name of the function, without any leading swift_ or
/// namespace.
/// - ret is the return type of the function.
/// - attrs is the attributes, if any, applied to the function definition.
/// - ccAttrs is the calling convention attributes, if any, applied to the
/// function definition and corresponding typedefs
/// - namespace is the namespace, if any, the function is in, including a
/// trailing ::
/// - typedArgs is the argument list, including types, surrounded by
/// parentheses
/// - namedArgs is the list of argument names, with no types, surrounded by
/// parentheses
///
/// The entries are organized by group. A user may define OVERRIDE to get all
/// entries, or define one or more of the more specific OVERRIDE_* variants to
/// get only those entries.
// NOTE: this file is used to build the definition of
// ConcurrencyOverrideSection in Overrides.cpp for the 5.6 compatibility
// library. It matches the definition of the concurrency OverrideSection
// for the 5.6 release and must not be edited.
#ifdef OVERRIDE
# define OVERRIDE_ACTOR OVERRIDE
# define OVERRIDE_TASK OVERRIDE
# define OVERRIDE_ASYNC_LET OVERRIDE
# define OVERRIDE_TASK_GROUP OVERRIDE
# define OVERRIDE_TASK_LOCAL OVERRIDE
# define OVERRIDE_TASK_STATUS OVERRIDE
#else
# ifndef OVERRIDE_ACTOR
# define OVERRIDE_ACTOR(...)
# endif
# ifndef OVERRIDE_TASK
# define OVERRIDE_TASK(...)
# endif
# ifndef OVERRIDE_ASYNC_LET
# define OVERRIDE_ASYNC_LET(...)
# endif
# ifndef OVERRIDE_TASK_GROUP
# define OVERRIDE_TASK_GROUP(...)
# endif
# ifndef OVERRIDE_TASK_LOCAL
# define OVERRIDE_TASK_LOCAL(...)
# endif
# ifndef OVERRIDE_TASK_STATUS
# define OVERRIDE_TASK_STATUS(...)
# endif
#endif
OVERRIDE_ACTOR(task_enqueue, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (class Job *job, ExecutorRef executor),
(job, executor))
OVERRIDE_ACTOR(job_run, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (class Job *job, ExecutorRef executor),
(job, executor))
OVERRIDE_ACTOR(task_getCurrentExecutor, ExecutorRef,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, ,)
OVERRIDE_ACTOR(task_isCurrentExecutor, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (ExecutorRef executor), (executor))
OVERRIDE_ACTOR(task_switch, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::, (SWIFT_ASYNC_CONTEXT AsyncContext *resumeToContext,
TaskContinuationFunction *resumeFunction, ExecutorRef newExecutor),
(resumeToContext, resumeFunction, newExecutor))
OVERRIDE_TASK(task_create_common, AsyncTaskAndContext,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(size_t taskCreateFlags,
TaskOptionRecord *options,
const Metadata *futureResultType,
FutureAsyncSignature::FunctionType *function,
void *closureContext,
size_t initialContextSize),
(taskCreateFlags, options, futureResultType, function,
closureContext, initialContextSize))
OVERRIDE_TASK(task_future_wait, void, SWIFT_EXPORT_FROM(swift_Concurrency),
SWIFT_CC(swiftasync), swift::,
(OpaqueValue *result,
SWIFT_ASYNC_CONTEXT AsyncContext *callerContext, AsyncTask *task,
TaskContinuationFunction *resumeFunction,
AsyncContext *callContext),
(result, callerContext, task, resumeFunction, callContext))
OVERRIDE_TASK(task_future_wait_throwing, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(OpaqueValue *result,
SWIFT_ASYNC_CONTEXT AsyncContext *callerContext, AsyncTask *task,
ThrowingTaskFutureWaitContinuationFunction *resumeFunction,
AsyncContext *callContext),
(result, callerContext, task, resumeFunction, callContext))
OVERRIDE_TASK(continuation_resume, void, SWIFT_EXPORT_FROM(swift_Concurrency),
SWIFT_CC(swift), swift::,
(AsyncTask *continuation),
(continuation))
OVERRIDE_TASK(continuation_throwingResume, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(AsyncTask *continuation),
(continuation))
OVERRIDE_TASK(continuation_throwingResumeWithError, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(AsyncTask *continuation, SwiftError *error),
(continuation, error))
OVERRIDE_TASK(task_addCancellationHandler,
CancellationNotificationStatusRecord *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(CancellationNotificationStatusRecord::FunctionType handler,
void *context),
(handler, context))
OVERRIDE_TASK(task_removeCancellationHandler, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(CancellationNotificationStatusRecord *record), (record))
OVERRIDE_TASK(task_createNullaryContinuationJob, NullaryContinuationJob *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(size_t priority,
AsyncTask *continuation), (priority, continuation))
OVERRIDE_TASK(task_asyncMainDrainQueue, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
, )
OVERRIDE_TASK(task_suspend, AsyncTask *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, ,)
OVERRIDE_TASK(continuation_init, AsyncTask *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (ContinuationAsyncContext *context,
AsyncContinuationFlags flags),
(context, flags))
OVERRIDE_TASK(continuation_await, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::, (ContinuationAsyncContext *context),
(context))
OVERRIDE_ASYNC_LET(asyncLet_wait, void, SWIFT_EXPORT_FROM(swift_Concurrency),
SWIFT_CC(swiftasync), swift::,
(OpaqueValue *result,
SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, TaskContinuationFunction *resumeFn,
AsyncContext *callContext),
(result, callerContext, alet, resumeFn, callContext))
OVERRIDE_ASYNC_LET(asyncLet_wait_throwing, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(OpaqueValue *result,
SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet,
ThrowingTaskFutureWaitContinuationFunction *resume,
AsyncContext *callContext),
(result, callerContext, alet, resume, callContext))
OVERRIDE_ASYNC_LET(asyncLet_end, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (AsyncLet *alet), (alet))
OVERRIDE_ASYNC_LET(asyncLet_get, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, void *resultBuffer,
TaskContinuationFunction *resumeFn,
AsyncContext *callContext),
(callerContext, alet, resultBuffer, resumeFn, callContext))
OVERRIDE_ASYNC_LET(asyncLet_get_throwing, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, void *resultBuffer,
ThrowingTaskFutureWaitContinuationFunction *resumeFn,
AsyncContext *callContext),
(callerContext, alet, resultBuffer, resumeFn, callContext))
OVERRIDE_ASYNC_LET(asyncLet_consume, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, void *resultBuffer,
TaskContinuationFunction *resumeFn,
AsyncContext *callContext),
(callerContext, alet, resultBuffer, resumeFn, callContext))
OVERRIDE_ASYNC_LET(asyncLet_consume_throwing, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, void *resultBuffer,
ThrowingTaskFutureWaitContinuationFunction *resumeFn,
AsyncContext *callContext),
(callerContext, alet, resultBuffer, resumeFn, callContext))
OVERRIDE_ASYNC_LET(asyncLet_finish, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
AsyncLet *alet, void *resultBuffer,
TaskContinuationFunction *resumeFn,
AsyncContext *callContext),
(callerContext, alet, resultBuffer, resumeFn, callContext))
OVERRIDE_TASK_GROUP(taskGroup_initialize, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group, const Metadata *T), (group, T))
OVERRIDE_TASK_STATUS(taskGroup_attachChild, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group, AsyncTask *child),
(group, child))
OVERRIDE_TASK_GROUP(taskGroup_destroy, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group), (group))
OVERRIDE_TASK_GROUP(taskGroup_wait_next_throwing, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swiftasync),
swift::,
(OpaqueValue *resultPointer,
SWIFT_ASYNC_CONTEXT AsyncContext *callerContext,
TaskGroup *_group,
ThrowingTaskFutureWaitContinuationFunction *resumeFn,
AsyncContext *callContext),
(resultPointer, callerContext, _group, resumeFn,
callContext))
OVERRIDE_TASK_GROUP(taskGroup_isEmpty, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group), (group))
OVERRIDE_TASK_GROUP(taskGroup_isCancelled, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group), (group))
OVERRIDE_TASK_GROUP(taskGroup_cancelAll, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group), (group))
OVERRIDE_TASK_GROUP(taskGroup_addPending, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group, bool unconditionally),
(group, unconditionally))
OVERRIDE_TASK_LOCAL(task_reportIllegalTaskLocalBindingWithinWithTaskGroup, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift), swift::,
(const unsigned char *file, uintptr_t fileLength,
bool fileIsASCII, uintptr_t line),
(file, fileLength, fileIsASCII, line))
OVERRIDE_TASK_LOCAL(task_localValuePush, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::,
(const HeapObject *key, OpaqueValue *value,
const Metadata *valueType),
(key, value, valueType))
OVERRIDE_TASK_LOCAL(task_localValueGet, OpaqueValue *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::,
(const HeapObject *key),
(key))
OVERRIDE_TASK_LOCAL(task_localValuePop, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, ,)
OVERRIDE_TASK_LOCAL(task_localsCopyTo, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::,
(AsyncTask *target),
(target))
OVERRIDE_TASK_STATUS(task_addStatusRecord, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskStatusRecord *newRecord), (newRecord))
OVERRIDE_TASK_STATUS(task_tryAddStatusRecord, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskStatusRecord *newRecord), (newRecord))
OVERRIDE_TASK_STATUS(task_removeStatusRecord, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskStatusRecord *record), (record))
OVERRIDE_TASK_STATUS(task_hasTaskGroupStatusRecord, bool,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, , )
OVERRIDE_TASK_STATUS(task_attachChild, ChildTaskStatusRecord *,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (AsyncTask *child), (child))
OVERRIDE_TASK_STATUS(task_detachChild, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (ChildTaskStatusRecord *record), (record))
OVERRIDE_TASK_STATUS(task_cancel, void, SWIFT_EXPORT_FROM(swift_Concurrency),
SWIFT_CC(swift), swift::, (AsyncTask *task), (task))
OVERRIDE_TASK_STATUS(task_cancel_group_child_tasks, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (TaskGroup *group), (group))
OVERRIDE_TASK_STATUS(task_escalate, JobPriority,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (AsyncTask *task, JobPriority newPriority),
(task, newPriority))
/// We need to keep this entry due to ABI requirements but this overridable
/// function is not used at all so we will change the function definition to
/// return void instead.
OVERRIDE_TASK_STATUS(task_getNearestDeadline, void,
SWIFT_EXPORT_FROM(swift_Concurrency), SWIFT_CC(swift),
swift::, (AsyncTask *task), (task))
#undef OVERRIDE_ACTOR
#undef OVERRIDE_TASK
#undef OVERRIDE_ASYNC_LET
#undef OVERRIDE_TASK_GROUP
#undef OVERRIDE_TASK_LOCAL
#undef OVERRIDE_TASK_STATUS