swift-ci
f15cad3609
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 20:08:31 -07:00
Doug Gregor
447dce6c1f
Merge pull request #9004 from itaiferber/swift-archival-serialization
...
Swift Archival & Serialization API
2017-04-28 20:02:33 -07:00
swift-ci
9ee70173bc
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 18:48:32 -07:00
Robert Widmann
2a7eee86fc
Merge pull request #8908 from CodaFi/space-engine
...
Redo Exhaustiveness Analysis
2017-04-28 21:28:31 -04:00
swift-ci
09e110f874
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 17:48:31 -07:00
Doug Gregor
ebd34ec597
Merge pull request #9106 from DougGregor/sub-map-concrete-generic-params
...
[Substitution Map] Handle substitutions of generic parameters made concrete
2017-04-28 17:39:50 -07:00
swift-ci
e0d9eeb4bb
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 17:08:36 -07:00
Graydon Hoare
cd48479d14
Merge pull request #9110 from graydon/grab-bag-of-metrics
...
Add an assortment of new "always-on" metrics.
2017-04-28 16:59:09 -07:00
Doug Gregor
6ef76a92f4
[AST] Use flat array storage for SubstitutionMap's replacement types.
...
The replacement types in a SubstitutionMap correspond with the generic
parameters of its generic signature, so replace the DenseMap storage
with a flat array of Types, one element for each generic parameter.
2017-04-28 16:22:07 -07:00
swift-ci
32094e9d34
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 14:48:32 -07:00
Graydon Hoare
b5292f04f8
Add an assortment of new "always-on" metrics.
2017-04-28 13:56:13 -07:00
Slava Pestov
3130c3cbd7
AST: Remove an overload of GenericSignature::getSubstitutions()
2017-04-28 13:26:02 -07:00
swift-ci
eb6f0906c2
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 12:08:34 -07:00
Roman Levenstein
9873329428
Merge pull request #9104 from swiftix/open-archtypes-tracker-fixes
...
[sil-open-archetypes-tracker] Add type dependent operands to more instructions
2017-04-28 12:08:17 -07:00
swift-ci
906e3c676a
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 11:28:31 -07:00
Jordan Rose
a9b6181ebd
[Serialization] Drop support for serializing LValueType. ( #9080 )
...
This type never appears in API boundaries or in SIL instructions,
which means it never gets serialized.
2017-04-28 11:15:15 -07:00
swift-ci
03982befb2
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 10:28:31 -07:00
Doug Gregor
7be3a142f9
Merge pull request #9093 from DougGregor/warn-unavailable-witnesses
...
[Type checker] Warn about unavailable witnesses used to satisfy a requirement
2017-04-28 10:20:59 -07:00
swift-ci
8b332084b5
Merge remote-tracking branch 'origin/master' into master-next
2017-04-28 10:08:31 -07:00
Nathan Hawes
d84f2d084c
Merge pull request #9084 from nathawes/migrator-api-optional-wrap
...
[migrator] Add pass for API type changes
2017-04-28 09:51:26 -07:00
Roman Levenstein
1731250dac
[sil-open-archetypes-tracker] Add type dependent operands to more instructions
...
The following instructions were enhanced with type dependent operands:
- convert_function
- pointer_to_thin_function
- upcast_inst
- thin_to_thick_function
Fixes rdar://31879356
2017-04-28 09:35:06 -07:00
Nathan Hawes
4ff254de97
Move canDeclProvideDefaultImplementationFor() from libIDE into libIndex
2017-04-27 23:23:45 -07:00
Robert Widmann
39494b2ba2
Rearrange test code for exhaustiveness
2017-04-28 02:06:39 -04:00
Robert Widmann
42c59554a0
Introduce the Space Engine
...
Implement exhaustiveness checking in Sema with rich error messages. The
algorithm used is a variant of the one described in Fengyun Liu's paper
"A Generic Algorithm for Checking Exhaustivity of Pattern Matching"
published in the EPFL conference, and Luc Maranget's seminal paper
"Warnings for Pattern Matching"
The Space Engine views pattern matching as a problem of projecting the
scrutinee of a pattern-match into a "Space", then iteratively
constructing a Space from the cases. Taking the difference of this
master space and the covered spaces yields the "holes" left over or
reveals a completely covered space.
The algorithm also extends trivially to redundancy checks in patterns,
but that check is already implemented in SILGen and this algorithm does
not improve upon it.
2017-04-28 02:06:39 -04:00
Doug Gregor
9ebc4caa41
[Type checker] Warn about unavailable witnesses used to satisfy a requirement.
2017-04-27 22:40:21 -07:00
Nathan Hawes
8ad6aa4e0d
[migrator] Add pass for API type changes
...
This handles optionality changes and type rewrites in function param and return types and constructor param and failability types.
Resolves rdar://problem/31766010
2017-04-27 22:19:52 -07:00
swift-ci
8a303cec3f
Merge remote-tracking branch 'origin/master' into master-next
2017-04-27 21:48:31 -07:00
Slava Pestov
e3b68e7bdd
Remove -enable-experimental-subclass-existentials staging flag
2017-04-27 20:46:37 -07:00
swift-ci
b68344e055
Merge remote-tracking branch 'origin/master' into master-next
2017-04-27 19:48:31 -07:00
Jordan Rose
06c3c99cbc
Merge pull request #8933 from jrose-apple/check-the-type-before-you-decl
...
[Serialization] Drop decls whose types can't be deserialized.
2017-04-27 19:38:52 -07:00
swift-ci
3efc87e41e
Merge remote-tracking branch 'origin/master' into master-next
2017-04-27 19:08:31 -07:00
John Holdsworth
fea17f22aa
[Parse] Add support for multiline strings inside interpolations
...
Adds support for multiline string literals to appear inside of string interpolations. Tests added.
2017-04-27 19:02:23 -07:00
Jordan Rose
1168cacf4f
[Serialization] Drop decls whose types can't be deserialized.
...
Proof-of-concept for the above. This shouldn't be common---renames are
far more likely, and those we can track---but occurs when the
swift_wrapper attribute (the implementation of NS_STRING_ENUM) is
active in Swift 4 but not in Swift 3.
Note that this only checks the canonical interface type of the
declaration, because the non-canonical type may contain references to
the declaration's generic parameters.
2017-04-27 18:30:34 -07:00
swift-ci
cdde06ac25
Merge remote-tracking branch 'origin/master' into master-next
2017-04-27 15:56:02 -07:00
Xi Ge
539cba9479
[Migrator] Handle enum modernization changes. ( #9077 )
2017-04-27 14:08:31 -07:00
Jordan Rose
888894c5ba
Merge pull request #8987 from jrose-apple/canonicalize-on-swift-4
...
[ClangImporter] Always import types under their Swift 4 name.
2017-04-27 10:14:02 -07:00
Erik Eckstein
76eca003bb
ArrayElementValuePropagation: explicitly reserve space for new elements when doing the array-content-of optimization
...
When Array.append(contentOf:) is replaced by individual Array.append(element) calls, an explicit reserveCapacityForAppend is inserted.
2017-04-27 09:06:56 -07:00
Erik Eckstein
9ac13ae606
stdlib, optimizer: add Array. reserveCapacityForAppend as a new array semantics operation.
...
This function reserves capacity in an Array for new elements which are about to be appended.
2017-04-27 09:06:55 -07:00
David Farler
bf37eb7f34
Merge pull request #9062 from bitjammer/migrator-remap-additional-output
...
[Migrator] Make remap file an additional output
2017-04-27 01:40:26 -07:00
David Farler
63776b507b
When converting some of the old Migrator automation to the new Migrator,
...
I had set up the driver to invoke a separate frontend invocation with
the "update code" mode. We sort of did this last release, except we
forked to the swift-update binary instead. This is causing problems with
testing in Xcode.
Instead, let's perform a single compile and add the remap file as an
additional output during normal compiles. The driver, seeing
-update-code, will add -emit-remap-file-path $PATH to the -c frontend
invocation.
rdar://problem/31857580
2017-04-27 01:03:00 -07:00
Maxim Moiseev
41b00c57ab
Merge pull request #9044 from moiseev/substring-in
...
[stdlib] Substring
2017-04-26 19:25:59 -07:00
swift-ci
962c71a2f1
Merge pull request #9056 from atrick/access
2017-04-26 18:10:28 -07:00
Andrew Trick
e8b0947897
[Exclusivity] Allow testing the -Onone pipeline with access markers.
...
Markers are always eliminated before -O passes.
At -Onone, markers can be enabled via command line for all -Onone passes.
2017-04-26 17:32:48 -07:00
Andrew Trick
087a1a956e
Fix SIL serialization for access markers.
2017-04-26 17:11:30 -07:00
Michael Gottesman
e11daa8ddf
[upstream-update] Do not use succ_iterator in GraphTraits. Use succblock_iterator instead.
...
rdar://31790907
2017-04-26 16:50:57 -07:00
swift-ci
932e7d3f7c
Merge pull request #9048 from rjmccall/fix-release-external-union
2017-04-26 16:25:19 -07:00
swift-ci
62b6b3bfec
Merge pull request #9040 from bitjammer/temp-migrator-flag
2017-04-26 16:06:02 -07:00
John McCall
5684996d05
Fix non-asserts builds of ExternalUnion.
2017-04-26 18:54:25 -04:00
John McCall
1666ebb92f
Merge pull request #9039 from rjmccall/optional-to-optional
...
Fix a semantic bug in CSApply's optional-to-optional application.
2017-04-26 18:38:42 -04:00
swift-ci
af6548db90
Merge pull request #9034 from bitjammer/remove-unused-migratoropts
2017-04-26 15:02:30 -07:00