mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This change introduces a new compilation target platform to the Swift compiler - visionOS. - Changes to the compiler build infrastrucuture to support building compiler-adjacent artifacts and test suites for the new target. - Addition of the new platform kind definition. - Support for the new platform in language constructs such as compile-time availability annotations or runtime OS version queries. - Utilities to read out Darwin platform SDK info containing platform mapping data. - Utilities to support re-mapping availability annotations from iOS to visionOS (e.g. 'updateIntroducedPlatformForFallback', 'updateDeprecatedPlatformForFallback', 'updateObsoletedPlatformForFallback'). - Additional tests exercising platform-specific availability handling and availability re-mapping fallback code-path. - Changes to existing test suite to accomodate the new platform.
206 lines
7.1 KiB
Swift
206 lines
7.1 KiB
Swift
//===----------------------------------------------------------------------===//
|
||
//
|
||
// This source file is part of the Swift.org open source project
|
||
//
|
||
// Copyright (c) 2014 - 2017 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
|
||
//
|
||
//===----------------------------------------------------------------------===//
|
||
|
||
#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS) || os(visionOS)) && _runtime(_ObjC)
|
||
/// Enumeration describing Mach error codes.
|
||
@objc
|
||
public enum MachErrorCode : Int32 {
|
||
case success = 0
|
||
|
||
/// Specified address is not currently valid.
|
||
case invalidAddress = 1
|
||
|
||
/// Specified memory is valid, but does not permit the required
|
||
/// forms of access.
|
||
case protectionFailure = 2
|
||
|
||
/// The address range specified is already in use, or no address
|
||
/// range of the size specified could be found.
|
||
case noSpace = 3
|
||
|
||
/// The function requested was not applicable to this type of
|
||
/// argument, or an argument is invalid.
|
||
case invalidArgument = 4
|
||
|
||
/// The function could not be performed. A catch-all.
|
||
case failure = 5
|
||
|
||
/// A system resource could not be allocated to fulfill this
|
||
/// request. This failure may not be permanent.
|
||
case resourceShortage = 6
|
||
|
||
/// The task in question does not hold receive rights for the port
|
||
/// argument.
|
||
case notReceiver = 7
|
||
|
||
/// Bogus access restriction.
|
||
case noAccess = 8
|
||
|
||
/// During a page fault, the target address refers to a memory
|
||
/// object that has been destroyed. This failure is permanent.
|
||
case memoryFailure = 9
|
||
|
||
/// During a page fault, the memory object indicated that the data
|
||
/// could not be returned. This failure may be temporary; future
|
||
/// attempts to access this same data may succeed, as defined by the
|
||
/// memory object.
|
||
case memoryError = 10
|
||
|
||
/// The receive right is already a member of the portset.
|
||
case alreadyInSet = 11
|
||
|
||
/// The receive right is not a member of a port set.
|
||
case notInSet = 12
|
||
|
||
/// The name already denotes a right in the task.
|
||
case nameExists = 13
|
||
|
||
/// The operation was aborted. Ipc code will catch this and reflect
|
||
/// it as a message error.
|
||
case aborted = 14
|
||
|
||
/// The name doesn't denote a right in the task.
|
||
case invalidName = 15
|
||
|
||
/// Target task isn't an active task.
|
||
case invalidTask = 16
|
||
|
||
/// The name denotes a right, but not an appropriate right.
|
||
case invalidRight = 17
|
||
|
||
/// A blatant range error.
|
||
case invalidValue = 18
|
||
|
||
/// Operation would overflow limit on user-references.
|
||
case userReferencesOverflow = 19
|
||
|
||
/// The supplied (port) capability is improper.
|
||
case invalidCapability = 20
|
||
|
||
/// The task already has send or receive rights for the port under
|
||
/// another name.
|
||
case rightExists = 21
|
||
|
||
/// Target host isn't actually a host.
|
||
case invalidHost = 22
|
||
|
||
/// An attempt was made to supply "precious" data for memory that is
|
||
/// already present in a memory object.
|
||
case memoryPresent = 23
|
||
|
||
/// A page was requested of a memory manager via
|
||
/// memory_object_data_request for an object using a
|
||
/// MEMORY_OBJECT_COPY_CALL strategy, with the VM_PROT_WANTS_COPY
|
||
/// flag being used to specify that the page desired is for a copy
|
||
/// of the object, and the memory manager has detected the page was
|
||
/// pushed into a copy of the object while the kernel was walking
|
||
/// the shadow chain from the copy to the object. This error code is
|
||
/// delivered via memory_object_data_error and is handled by the
|
||
/// kernel (it forces the kernel to restart the fault). It will not
|
||
/// be seen by users.
|
||
case memoryDataMoved = 24
|
||
|
||
/// A strategic copy was attempted of an object upon which a quicker
|
||
/// copy is now possible. The caller should retry the copy using
|
||
/// vm_object_copy_quickly. This error code is seen only by the
|
||
/// kernel.
|
||
case memoryRestartCopy = 25
|
||
|
||
/// An argument applied to assert processor set privilege was not a
|
||
/// processor set control port.
|
||
case invalidProcessorSet = 26
|
||
|
||
/// The specified scheduling attributes exceed the thread's limits.
|
||
case policyLimit = 27
|
||
|
||
/// The specified scheduling policy is not currently enabled for the
|
||
/// processor set.
|
||
case invalidPolicy = 28
|
||
|
||
/// The external memory manager failed to initialize the memory object.
|
||
case invalidObject = 29
|
||
|
||
/// A thread is attempting to wait for an event for which there is
|
||
/// already a waiting thread.
|
||
case alreadyWaiting = 30
|
||
|
||
/// An attempt was made to destroy the default processor set.
|
||
case defaultSet = 31
|
||
|
||
/// An attempt was made to fetch an exception port that is
|
||
/// protected, or to abort a thread while processing a protected
|
||
/// exception.
|
||
case exceptionProtected = 32
|
||
|
||
/// A ledger was required but not supplied.
|
||
case invalidLedger = 33
|
||
|
||
/// The port was not a memory cache control port.
|
||
case invalidMemoryControl = 34
|
||
|
||
/// An argument supplied to assert security privilege was not a host
|
||
/// security port.
|
||
case invalidSecurity = 35
|
||
|
||
/// thread_depress_abort was called on a thread which was not
|
||
/// currently depressed.
|
||
case notDepressed = 36
|
||
|
||
/// Object has been terminated and is no longer available.
|
||
case terminated = 37
|
||
|
||
/// Lock set has been destroyed and is no longer available.
|
||
case lockSetDestroyed = 38
|
||
|
||
/// The thread holding the lock terminated before releasing the lock.
|
||
case lockUnstable = 39
|
||
|
||
/// The lock is already owned by another thread.
|
||
case lockOwned = 40
|
||
|
||
/// The lock is already owned by the calling thread.
|
||
case lockOwnedSelf = 41
|
||
|
||
/// Semaphore has been destroyed and is no longer available.
|
||
case semaphoreDestroyed = 42
|
||
|
||
/// Return from RPC indicating the target server was terminated
|
||
/// before it successfully replied.
|
||
case rpcServerTerminated = 43
|
||
|
||
/// Terminate an orphaned activation.
|
||
case rpcTerminateOrphan = 44
|
||
|
||
/// Allow an orphaned activation to continue executing.
|
||
case rpcContinueOrphan = 45
|
||
|
||
/// Empty thread activation (No thread linked to it).
|
||
case notSupported = 46
|
||
|
||
/// Remote node down or inaccessible.
|
||
case nodeDown = 47
|
||
|
||
/// A signalled thread was not actually waiting.
|
||
case notWaiting = 48
|
||
|
||
/// Some thread-oriented operation (semaphore_wait) timed out.
|
||
case operationTimedOut = 49
|
||
|
||
/// During a page fault, indicates that the page was rejected as a
|
||
/// result of a signature check.
|
||
case codesignError = 50
|
||
|
||
/// The requested property cannot be changed at this time.
|
||
case policyStatic = 51
|
||
}
|
||
#endif // (os(macOS) || os(iOS) || os(tvOS) || os(watchOS) || os(visionOS)) && _runtime(_ObjC)
|