mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This reverts commit efaf1fbefa.
Add a much more palatable workaround for the unit tests. Rather than
adding the dllimport for the symbols, locally define the required
symbols. This list is sufficient to restore the ability to build tests
for Windows.
509 lines
13 KiB
C++
509 lines
13 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "swift/Runtime/Metadata.h"
|
|
#include "swift/Demangling/ManglingMacros.h"
|
|
|
|
using namespace swift;
|
|
|
|
// Placeholders for Swift functions that the C++ runtime references
|
|
// but that the test code does not link to.
|
|
|
|
// AnyHashable
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_makeAnyHashableUsingDefaultRepresentation(
|
|
const OpaqueValue *value,
|
|
const void *anyHashableResultPointer,
|
|
const Metadata *T,
|
|
const WitnessTable *hashableWT
|
|
) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11AnyHashableVMn[1] = {0};
|
|
|
|
// SwiftHashableSupport
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_stdlib_Hashable_isEqual_indirect(
|
|
const void *lhsValue, const void *rhsValue, const Metadata *type,
|
|
const void *wt) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
intptr_t _swift_stdlib_Hashable_hashValue_indirect(
|
|
const void *value, const Metadata *type, const void *wt) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_convertToAnyHashableIndirect(
|
|
OpaqueValue *source, OpaqueValue *destination, const Metadata *sourceType,
|
|
const void *sourceConformance) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_anyHashableDownCastConditionalIndirect(
|
|
OpaqueValue *source, OpaqueValue *destination, const Metadata *targetType) {
|
|
abort();
|
|
}
|
|
|
|
// Casting
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_arrayDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_arrayDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_setDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceValueHashable,
|
|
const void *targetValueHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_setDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceValueHashable,
|
|
const void *targetValueHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_dictionaryDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceKeyType,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetKeyType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceKeyHashable,
|
|
const void *targetKeyHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_dictionaryDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceKeyType,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetKeyType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceKeyHashable,
|
|
const void *targetKeyHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _bridgeNonVerbatimBoxedValue(const OpaqueValue *sourceValue,
|
|
OpaqueValue *destValue,
|
|
const Metadata *nativeType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _bridgeNonVerbatimFromObjectiveCToAny(HeapObject *sourceValue,
|
|
OpaqueValue *destValue) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool swift_unboxFromSwiftValueWithType(OpaqueValue *source,
|
|
OpaqueValue *result,
|
|
const Metadata *destinationType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool swift_swiftValueConformsTo(const Metadata *destinationType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_API
|
|
HeapObject *$ss27_bridgeAnythingToObjectiveCyyXlxlF(OpaqueValue *src, const Metadata *srcType) {
|
|
abort();
|
|
}
|
|
|
|
// ErrorObject
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
int $ss13_getErrorCodeySiSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss23_getErrorDomainNSStringyyXlSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss29_getErrorUserInfoNSDictionaryyyXlSgSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss32_getErrorEmbeddedNSErrorIndirectyyXlSgSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
// Hashable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $SkMp[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSHMp[1] = {0};
|
|
|
|
// Array
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSaMn[1] = {0};
|
|
|
|
// Dictionary
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ssSdVMn[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSDMn[1] = {0};
|
|
|
|
// Set
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ssSeVMn[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sShMn[1] = {0};
|
|
|
|
// Bool
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSbMn[1] = {0};
|
|
|
|
// Binary Floating Point
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSBMp[1] = {0};
|
|
|
|
// Double
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSdMn[1] = {0};
|
|
|
|
// RandomNumberGenerator
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSGMp[1] = {0};
|
|
|
|
// Int
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSiMn[1] = {0};
|
|
|
|
// DefaultIndicis
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSIMn[1] = {0};
|
|
|
|
// Character
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSJMn[1] = {0};
|
|
|
|
// Numeric
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSjMp[1] = {0};
|
|
|
|
// RandomAccessCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSkMp[1] = {0};
|
|
|
|
// BidirectionalCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSKMp[1] = {0};
|
|
|
|
// RangeReplacementCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSmMp[1] = {0};
|
|
|
|
// MutationCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSMMp[1] = {0};
|
|
|
|
// Range
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSnMn[1] = {0};
|
|
|
|
// ClosedRange
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSNMn[1] = {0};
|
|
|
|
// ObjectIdentifier
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSOMn[1] = {0};
|
|
|
|
// UnsafeMutablePointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSpMn[1] = {0};
|
|
|
|
// Optional
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSqMn[1] = {0};
|
|
|
|
// Equatable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSQMp[1] = {0};
|
|
|
|
// UnsafeMutableBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSrMn[1] = {0};
|
|
|
|
// UnsafeBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSRMn[1] = {0};
|
|
|
|
// String
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSSMn[1] = {0};
|
|
|
|
// Sequence
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSTMp[1] = {0};
|
|
|
|
// UInt
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSuMn[1] = {0};
|
|
|
|
// UnsignedInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSUMp[1] = {0};
|
|
|
|
// UnsafeMutableRawPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSvMn[1] = {0};
|
|
|
|
// Strideable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSxMp[1] = {0};
|
|
|
|
// RangeExpression
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSXMp[1] = {0};
|
|
|
|
// StringProtocol
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSyMp[1] = {0};
|
|
|
|
// RawRepresentable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSYMp[1] = {0};
|
|
|
|
// BinaryInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSzMp[1] = {0};
|
|
|
|
// Decodable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSeMp[1] = {0};
|
|
|
|
// Encodable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSEMp[1] = {0};
|
|
|
|
// Float
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSfMn[1] = {0};
|
|
|
|
// FloatingPoint
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSFMp[1] = {0};
|
|
|
|
// Collection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSlMp[1] = {0};
|
|
|
|
// Comparable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSLMp[1] = {0};
|
|
|
|
// UnsafePointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSPMn[1] = {0};
|
|
|
|
// Substring
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSsMn[1] = {0};
|
|
|
|
// IteratorProtocol
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sStMp[1] = {0};
|
|
|
|
// UnsafeRawPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSVMn[1] = {0};
|
|
|
|
// UnsafeMutableRawBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSwMn[1] = {0};
|
|
|
|
// UnsafeRawBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSWMn[1] = {0};
|
|
|
|
// SignedInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSZMp[1] = {0};
|
|
|
|
// Mirror
|
|
|
|
// protocol witness table for Swift._ClassSuperMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss17_ClassSuperMirrorVs01_C0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._ClassSuperMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss17_ClassSuperMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._MetatypeMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss15_MetatypeMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._MetatypeMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss15_MetatypeMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._EnumMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11_EnumMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._EnumMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11_EnumMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._OpaqueMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_OpaqueMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._OpaqueMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_OpaqueMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._StructMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_StructMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._StructMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_StructMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._TupleMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_TupleMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._TupleMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_TupleMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._ClassMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_ClassMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._ClassMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_ClassMirrorVMa[1] = {0};
|
|
|
|
// KeyPath
|
|
|
|
SWIFT_RUNTIME_STDLIB_SPI
|
|
const HeapObject *swift_getKeyPathImpl(const void *p,
|
|
const void *e,
|
|
const void *a) {
|
|
abort();
|
|
}
|
|
|
|
// playground print hook
|
|
|
|
struct swift_closure {
|
|
void *fptr;
|
|
HeapObject *context;
|
|
};
|
|
SWIFT_RUNTIME_STDLIB_API SWIFT_CC(swift) swift_closure
|
|
MANGLE_SYM(s20_playgroundPrintHookySScSgvg)() {
|
|
return {nullptr, nullptr};
|
|
}
|
|
|
|
// ObjectiveC Bridgeable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss21_ObjectiveCBridgeableMp[1] = {0};
|
|
|
|
// Key Path
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss7KeyPathCMo[1] = {0};
|