Ben Cohen
f625f466c4
[stdlib] Simplify internal DropFirst/PrefixSequence types ( #19970 )
...
* Simplify internal DropFirstSequence type
* Simplify internal PrefixSequence type
2018-10-22 07:53:05 -07:00
Saleem Abdulrasool
920aa2f9b7
Merge pull request #19877 from compnerd/sse-no-more
...
SSE no more
2018-10-16 13:11:02 -07:00
Slava Pestov
8954e5f3c8
Merge pull request #19891 from slavapestov/unqualified-lookup-fixes-part-2
...
Unqualified lookup fixes, part 2
2018-10-15 23:02:19 -07:00
swift-ci
7cd273e777
Merge pull request #19904 from nkcsgexi/redirect-diags
2018-10-15 20:06:13 -07:00
Slava Pestov
4ef1904e88
AST: Don't allow declarations to shadow generic parameters
...
Associated type inference can synthesize type aliases with the same name
as a generic parameter. This is all fine since the underlying type of
the alias is the generic parameter type, however it might have been
synthesized in a constrained extension, resulting in bogus diagnostics
that depend on the order in which declarations are type checked, which
can vary between WMO and non-WMO, different batch mode settings, etc.
Instead, let's just check the generic parameter list first.
Fixes <rdar://problem/22587551>, <rdar://problem/44777661>.
2018-10-15 19:24:27 -07:00
Slava Pestov
ba066b8257
swift-api-digester: Don't drop value ownership when parameter has typealias type
2018-10-15 19:24:27 -07:00
Xi Ge
70118d4db0
swift-module-digester: output ABI/API diagnostics to a path instead of stdout.
...
This is handy for scripts.
2018-10-15 19:12:34 -07:00
Erik Eckstein
15b01ab792
SIL: Remove array.owner semantic function
...
Also remove the getOwner functions from ArraySlide.
These functions are not needed anymore with accessors.
rdar://problem/44184810
2018-10-15 09:44:52 -07:00
Saleem Abdulrasool
2935c09a07
stdlib: rename x86_64 variables to be generic
...
Rename some of the variables in the VaListBuilder path to be agnostic to
the architecture. SSE is x86 specific, by renaming the variables to
hide the fact that the path is x86 specific, we will be able to share
some of the code with arm64 (where the analogous hardware is the VFP).
2018-10-14 13:39:17 -07:00
Xi Ge
87ed4b4488
[test] Remove Swift 3 flags from various tests.
2018-10-09 16:09:41 -07:00
Xi Ge
9802206285
Merge pull request #19799 from nkcsgexi/module-digester-swift-only
...
swift-module-digester: add a flag to include Swift decls specifically.
2018-10-09 14:00:26 -07:00
Xi Ge
3f58f1e6d3
swift-module-digester: add a flag to include Swift decls specifically.
...
This flag allows us to diagnose the overlay part exclusively without digesting
the entire SDK framework.
2018-10-09 12:57:22 -07:00
Xi Ge
329423b165
Merge pull request #19737 from nkcsgexi/enable-api-json
...
swift-module-digester: reenable test for Json serialization diagnostics.
2018-10-08 22:12:55 -07:00
Xi Ge
7177f4191b
test: regenerate ABI/API stability baselines after recent fixes.
2018-10-08 14:05:17 -07:00
Xi Ge
c8c7fb39b0
swift-module-digester: exclude fixed binary order when checking API stability.
2018-10-08 13:59:30 -07:00
Xi Ge
847aa9b327
swift-module-digester: avoid including private protocol conformances when checking API stability.
2018-10-08 13:30:30 -07:00
Xi Ge
382e27f4ab
swift-module-digester: diagnose adding/removing final as ABI/API breakages.
2018-10-08 13:19:54 -07:00
Xi Ge
bfadd46d57
swift-module-digester: diagnose non-final function changes in non-resilient classes.
2018-10-08 12:15:55 -07:00
Xi Ge
9ed3894667
Merge remote-tracking branch 'apple/master' into include-non-resilient-class
2018-10-08 10:51:26 -07:00
Karoy Lorentey
4967393618
Merge pull request #19688 from lorentey/hashed-bridgeobject
...
[stdlib] Set, Dictionary: Replace _Variant enums with _BridgeStorage
2018-10-08 12:07:40 +01:00
Xi Ge
c5550ce2f8
test: regenerate abi stability baseline after recent fixes.
2018-10-05 14:48:56 -07:00
Xi Ge
8a769a0460
swift-module-digester: include non-resilient class decls when checking ABI stability.
2018-10-05 14:48:00 -07:00
Jordan Rose
30d15682d5
Merge pull request #19522 from jrose-apple/lined-pockets
...
Remove unwanted exceptions from @inlinable checking
2018-10-05 14:28:21 -07:00
Xi Ge
9cfc0dee79
swift-module-digester: keep track of whether a property/subscript has didSet and willSet.
2018-10-05 13:02:31 -07:00
Jordan Rose
df1ef05c4c
Remove unwanted exceptions from @inlinable checking
...
- Treat protocol requirements just like associated types in how they
inherit usable-from-inline-ness, rather than special-casing them in
the check for inlinable code.
- Enum elements are already treated this way, so we can remove a
redundant check for that.
- Finally, start enforcing that 'dynamic' declarations need to be
'@usableFromInline' to be used in inlinable functions...in Swift 5
mode or resilient code. I didn't even add a warning in Swift 4/4.2
because it was illegal to use '@usableFromInline' on a 'dynamic'
declaration in Swift 4.2. (Oops.)
2018-10-05 12:21:01 -07:00
Xi Ge
9978cd9283
swift-module-digester: re-enable test for Json serialization diagnostics.
2018-10-05 11:12:44 -07:00
Karoy Lorentey
c47b922421
[test] Confess Set/Dictionary ABI changes
2018-10-05 14:07:10 +01:00
Xi Ge
a1e66a0515
swift-module-digester: diagnose value ownership changes for parameters.
2018-10-04 18:02:45 -07:00
Xi Ge
2d59078a0d
[test] Regenerate ABI/API checker baseline by using stdlib without assertion enabled.
...
If we use a baseline generated from assertion build, the checker will report false-positives
when running in a non-assertion build since some decls only exist in the former.
resolves: rdar://45014723
2018-10-04 15:57:56 -07:00
Xi Ge
5bab518d5f
swift-module-digester: include parameters' value ownership values in the digests.
2018-10-04 15:57:56 -07:00
Xi Ge
78271f19a0
swift-module-digester: diagnose self access kind changes for function decls.
2018-10-04 15:57:56 -07:00
Xi Ge
b7c9e5798a
[test] regenerated ABI checker baseline to include decls with @usableFromInline.
2018-10-03 14:56:24 -07:00
Xi Ge
58b3c2173f
swift-module-digester: use getEffectiveAccess() to get accessibility when checking ABI stability.
...
This allows us to include internal decls with @usableFromInline attribute, whose stored property
changes can effect ABI.
2018-10-03 14:06:53 -07:00
Ben Cohen
6cc6f4f182
Underscore @usableFromInlinable symbols ( #19686 )
2018-10-03 12:01:28 -07:00
Xi Ge
c2c04875d0
swift-module-digester: diagnose operator *fix notation changes.
2018-10-02 15:04:23 -07:00
Xi Ge
9364415eab
swift-module-digester: use "stored property" instead of "fixed layout order" in diagnostics.
2018-10-02 11:15:20 -07:00
Xi Ge
784cb9e1a9
Revert "swift-module-digester: diagnose added associated types as ABI breakages even they have default type."
2018-10-02 11:12:37 -07:00
Xi Ge
a969486932
swift-module-digester: diagnose added associated types as ABI breakages even they have default type.
2018-10-01 16:00:36 -07:00
Xi Ge
8e81b59f4e
swift-module-digester: diagnose fixed-order property changes to computed property and vice versa as ABI breakage.
2018-10-01 15:54:14 -07:00
Xi Ge
4b8507c858
[test] Regenerate abi and source stability baseline and start running tests for them.
2018-10-01 15:14:58 -07:00
Xi Ge
b3614a4b6f
swift-module-digester: include unavailable variables with fixed layout order when checking ABI stability.
2018-10-01 15:02:41 -07:00
Xi Ge
9fcc59bcaf
swift-module-digester: include operator declarations in the module dump.
...
Their changes should have no impact on ABI, but can be source-breaking.
2018-10-01 12:28:54 -07:00
Xi Ge
6a198b151a
swift-module-digester: keep track of whether a decl is internal.
2018-09-30 18:53:35 -07:00
Stephen Canon
0707ca6dac
Remove concrete floating-point inits from integer types ( #19624 )
...
Also removes .gyb from FloatingPoint.swift, since we barely are using it after this change.
Rework Self._convert from integer, by making it require RawSignificand: FixedWidthInteger. This requirement should have always been there, and the existing implementaiton wouldn't have actually worked correctly without it. Making it explcit makes the implementation quite a bit simpler, which is nice.
Additionally add a fast-path conversion that will catch all concrete integer types without needing to be a concrete implementation itself. Room for further improvement, but good start. See RandomDouble performance improvements, for example.
2018-09-30 11:57:49 -04:00
Xi Ge
226811007b
swift-module-digester: refactor diagnostics logic. NFC
2018-09-29 20:18:29 -07:00
Xi Ge
d15f611acd
Merge pull request #19620 from nkcsgexi/include-operator
...
swift-module-digester: include operator overloads in the module dump.
2018-09-28 20:35:57 -07:00
Xi Ge
a6f886c8b7
swift-module-digester: include operator overloads in the module dump.
2018-09-28 17:41:52 -07:00
Xi Ge
b9c1cdefed
swift-module-digester: keep track of whether a property or subscript has storage.
2018-09-28 11:36:36 -07:00
Xi Ge
7b45ae9135
swift-module-digester: diagnose adding/removing @escaping as ABI breakage.
2018-09-27 17:43:02 -07:00
Xi Ge
6665b56e9d
swift-module-digester: changing open class members to public can be source-breaking.
2018-09-27 14:38:59 -07:00