Commit Graph

13406 Commits

Author SHA1 Message Date
Simon Gladman
05a53a4c57 Merge branch 'master' into accelerate-vDSP-polynomialEvaluation 2019-03-29 07:50:35 +00:00
David Smith
39745a1e5e Merge pull request #21627 from kubamracek/fix-data-race-on-emptyarraystorage
Fix a data race on _swiftEmptyArrayStorage reported by TSan
2019-03-28 17:38:21 -07:00
Luciano Almeida
a62c87f6cd [stdlib] Addressing Fixme comment atomic stdlib unit test flags (#23198)
* Addressing FIXME comment making StdlibUnittest flags atomic

* Commenting store

* Fix wrong change

* Add comment

* Addressing the PR comment suggestions.

* Remove public wrong place.

* Reverting comment iff

* Update stdlib/private/StdlibUnittest/StdlibUnittest.swift

Co-Authored-By: LucianoPAlmeida <passos.luciano@outlook.com>

* File private vars
2019-03-28 12:06:02 -07:00
simon gladman
f1e98b6147 Add versions of operations that return the result as an array. 2019-03-28 17:22:29 +00:00
simon gladman
45e60ba75a Merge branch 'master' into accelerate-vDSP-clippingLimitThreshold 2019-03-28 16:41:42 +00:00
simon gladman
f5afb0d779 Create integrations functions that return the result. 2019-03-28 16:40:25 +00:00
simon gladman
5c4fc18013 Merge branch 'master' into accelerate-vDSP-slidingWindow 2019-03-28 16:08:22 +00:00
simon gladman
65f1e6314c Merge branch 'master' into accelerate-vDSP-integration 2019-03-28 15:45:22 +00:00
Daniel Rodríguez Troitiño
28251a7a3b Merge pull request #19846 from drodriguez/android-aarch64-disable-powl
[android] Fix powl test in Android ARMv7/AArch64.
2019-03-28 07:20:51 -07:00
Daniel Rodríguez Troitiño
7455fb748f [android] Fix powl test in Android ARMv7/AArch64.
In Android ARMv7 there was no alias defined for CLongDouble, so
importing anything with long double was failing. Defining the alias
makes the test pass.

AAPCS64 defines long double as 128 bits, which is still unsupported by
Swift (SR-9072). Disable this particular test for Android and Linux in
AArch64 to not fail (but still test all the other tests).
2019-03-27 13:30:17 -07:00
simon gladman
75ca8c03d8 Merge branch 'master' into accelerate-vDSP-linearInterpolation 2019-03-27 17:06:53 +00:00
simon gladman
393c404a9c Merge branch 'master' into accelerate-vDSP-complexOperations 2019-03-27 17:04:20 +00:00
simon gladman
4a2cc1803a Merge branch 'master' into accelerate-vDSP-singleVectorOperations 2019-03-27 16:55:55 +00:00
simon gladman
c6e594f456 Merge branch 'master' into accelerate-vDSP-slidingWindow 2019-03-27 16:54:39 +00:00
simon gladman
f39351ac24 Merge branch 'master' into accelerate-vDSP-miscConversions 2019-03-27 16:16:35 +00:00
simon gladman
92feb8acd4 Merge branch 'master' into accelerate-vDSP-geometry 2019-03-27 15:49:42 +00:00
simon gladman
b076cac904 Merge branch 'master' into accelerate-vDSP-differenceEquationAndDownsampling 2019-03-27 15:25:12 +00:00
simon gladman
2f45f2a332 Merge branch 'master' into accelerate-vDSP-vectorReduction 2019-03-27 15:21:19 +00:00
simon gladman
31116aa278 Merge branch 'master' into accelerate-vDSP-polynomialEvaluation 2019-03-27 15:16:44 +00:00
simon gladman
5e41b10df6 Merge branch 'master' into accelerate-vDSP-clippingLimitThreshold 2019-03-27 15:13:36 +00:00
Mike Ash
965953d7a0 Merge pull request #23451 from mikeash/magic-symbols-for-install-name
[Build] Use magic linker symbols to specify an @rpath-relative install name when targeting pre-stable-ABI OSes.
2019-03-27 08:10:30 -07:00
simon gladman
06f0565b6f Merge branch 'master' into accelerate-vDSP-fillClearGenerate 2019-03-27 15:08:57 +00:00
simon gladman
0e82e8f71f Merge branch 'master' into accelerate-vDSP-convolution 2019-03-27 14:56:46 +00:00
simon gladman
6597c0db31 Merge branch 'master' into accelerate-vDSP-integration 2019-03-27 14:53:45 +00:00
simon gladman
65e2eb6d8b Merge branch 'master' into accelerate-vDSP-elementwiseVectorArithmetic 2019-03-27 14:48:22 +00:00
simon gladman
c12cf57294 Merge branch 'master' into accelerate-vDSP-conversion 2019-03-27 14:45:10 +00:00
David Zarzycki
ec7647b6b7 [Runtime] Fix trivial Linux build failure 2019-03-27 08:50:20 -04:00
Slava Pestov
9ceb3faee9 Runtime: Add support for Objective-C resilient class stubs
This adds a new tail-allocated field to class context descriptors storing
a pointer to an Objective-C class stub.

When the stub is present, we use the new _objc_realizeClassFromSwift()
entry point to realize the class instead of calling objc_readClassPair().

This should attach categories to the realized class, if they were emitted
to reference the stub.
2019-03-26 18:42:59 -04:00
eeckstein
ba5e3448b5 Merge pull request #23518 from eeckstein/onone-support-abi
Stabilize the ABI of libswiftSwiftOnoneSupport
2019-03-26 11:18:04 -07:00
swift-ci
07a29d5ff7 Merge pull request #23515 from Luigi123/refactor-url 2019-03-26 10:53:39 -07:00
Stephen Canon
fbd1d4cecc Use the blessed (repeating: Scalar) init instead of (Scalar) in simd. (#23534) 2019-03-25 20:32:16 -04:00
Erik Eckstein
00599eeb3c Check for completeness of the SwiftOnoneSupport library
When compiling SwiftOnoneSupport, issue errors for missing functions which are expected in the module.
This ensures ABI compatibility.

rdar://problem/48924409
2019-03-25 14:57:03 -07:00
Erik Eckstein
218cc9b187 Add some pre-specializations for internal stdlib functions in SwiftOnoneSupport
It's very unlikely that those functions are really referenced by Onone executables, but we want to be ABI compatible.
Also, there is no guarantee that this version of SwiftOnoneSupport will always trigger all symbol to be pre-specialized.
If the optimizer changes, we might need to add other explicit pre-specializations of internal stdlib symbols.

rdar://problem/48924409
2019-03-25 14:57:03 -07:00
Nate Cook
b6bb9d2f8c [stdlib] Make unsafe array initializer public (#23134)
[stdlib] Make unsafe array initializer public

This implements SE-0245. The public versions of this initializer call
into the existing, underscored version, which avoids the need for
availability constraints.
2019-03-23 13:18:10 -05:00
Luigi
174d019111 Refactor if statements in URL.swift
I refactored some of the if statements in URL.swift to be guard instead.
This made the code shorter and easier to read.
This mirrors my commit on swift-corelibs-foundation (PR #2034)
2019-03-23 18:07:24 +09:00
Stephen Canon
1a9ae47d06 Teach the importer to import any clang vector type as SIMDn<Scalar>. (#23454)
* Teach the importer to import any vector type as SIMDN<Scalar>.

Instead of having a known set of vector types, check to see if the
element type conforms to SIMDScalar; if it does, see if we have a
SIMDN defined with the right number of elements. If both are satisfied,
import the vector type as that Swift type.

By making this change, we gain the ability to import vector types
that aren't defined in terms of the Darwin simd module, which lets
us use C API with vector types on other platforms. It also lets us
import *every* vector type that Swift can represent, rather than the
small subset that are currently hardcoded.

* Increased test coverage for increased SIMD types that we can import.

Includes some minor cleanup from review. Also eliminates the old
simd_sans_simd test, since we can now import all of these types even when the simd module isn't imported.
2019-03-22 22:11:22 -04:00
Thomas Roughton
e0c9a6e17c SIMD Overlay: inline deprecated methods (#23250)
On Swift 5, using the deprecated `SIMD.init(_ scalar: Scalar)` initialiser rather than `SIMD.init(repeating scalar: Scalar)` will cause the type to fail to be specialised, resulting in performance degradation. Mark this method and `static prefix func -` as `@_transparent` to ensure they are correctly specialised.
2019-03-22 16:19:53 -04:00
Mike Ash
998b833f65 Make sure magic-symbols-for-install-name.c is above GYB_SOURCES in all files. 2019-03-22 10:04:40 -04:00
Doug Gregor
2aea63710e Rewrite install_name for macOS 10.14 only with the Xcode default toolchain.
The install_name trick we are using to make sure that an application
built with a deployment target new enough to *guarantee* that Swift
will be available in the OS (and therefore don't need dylibs bundled)
link directly to /usr/lib/swift/*.dylib, but rewrites the the library
paths to be rpath-relative for older OS's (e.g.,
@rpath/lib/swift/libswiftCore.dylib) doesn't work for sub-minor
version numbers, e.g., the tools can't distinguish between 10.14.4 and
10.14. Therefore, macOS 10.14 is both an "older OS" and a "newer OS".

Hack around the primary problem caused by this---the inability of
first-party Swift programs to launch on macOS 10.14.4---by treating
macOS 10.14 as an "older OS" when building for the Xcode toolchain
(which is used by anyone who will deploy back to an older OS, e.g.,
3rd party applications) but treat it as a "newer OS" when building for
the OS toolchains (which is used when building the OS itself).

Fixes rdar://problem/47007519.
2019-03-22 10:04:40 -04:00
Mike Ash
4fb99998ae [Build] Use magic linker symbols to specify an @rpath-relative install name when targeting pre-stable-ABI OSes.
Magic symbols of the form $ld$install_name$os9.0$@rpath/libswiftCore.dylib tell the linker to use that install name when targeting that OS version. Use these symbols to specify an @rpath install name for all back-deployment libraries when targeting watchOS 2.0-5.1, iOS 7.0-12.1, and macOS 10.9-10.14.

rdar://problem/45027809
2019-03-22 10:04:39 -04:00
Saleem Abdulrasool
3192eb3221 Merge pull request #22208 from linux-on-ibm-z/s390x-storetag-fix
Fix storeEnumTagSinglePayload on big-endian systems
2019-03-21 14:18:12 -07:00
Saleem Abdulrasool
65d4199c7b Merge pull request #23400 from drodriguez/remove-incorrect-docs
[stdlib] Remove documentation piece that it is not longer true.
2019-03-21 09:30:34 -07:00
simon gladman
3a5934d7c5 Rename pointers for vDSP_vsub and vDSP_vsubD to match vDSP function parameter names. 2019-03-21 09:59:13 +00:00
Michael Gottesman
384882d5f3 Merge pull request #23201 from compnerd/patience-is-not-always-a-virtue
build: introduce and switch to GYB_SOURCES
2019-03-20 13:27:32 -07:00
Stephen Canon
60e86b9361 Some cleanup of SIMDVector and SIMDVectorTypes source files. (#23389)
Bring formatting closer in line with the rest of the standard lib, remove "public" from extensions (moving it onto the contents defined therein). Restore Swift project headers that were apparently lost at some point.
2019-03-19 12:44:35 -04:00
simon gladman
f62897ae67 Remove by and from parameter names for divide and subtract operations and fix subtract operation parameter order. 2019-03-19 13:37:04 +00:00
Kyle Murray
cf5bcabd6e Merge pull request #23406 from krilnon/master
[stdlib] Fix a misspelling in a Dictionary doc comment.
2019-03-18 21:35:56 -07:00
Saleem Abdulrasool
7d252cbd75 Merge pull request #23387 from compnerd/i-open-at-the-close
SwiftPrivate: add `isClosed` property
2019-03-18 17:09:27 -07:00
Bob Wilson
ba75030590 Merge pull request #23375 from bob-wilson/llvm-r355981
Stop using the _branchHint function
2019-03-18 16:55:15 -07:00
Kyle Murray
7eab74c066 [stdlib] Fix a misspelling in a Dictionary doc comment.
Fixes rdar://problem/48759246.
2019-03-18 15:34:50 -07:00