swift_jenkins
7cdc0520e3
Merge remote-tracking branch 'origin/main' into next
2022-04-04 10:41:57 -07:00
Evan Wilde
2eb801145e
Merge branch 'main' into ewilde/async-main-resolution
2022-04-02 16:15:10 -07:00
Evan Wilde
da0a3311a5
Add -async-main flag to favor asynchronous main
...
This flag biases the overload checker in favor of selecting an
asynchronous main function over a synchronous main. If no asynchronous
main function exists, a synchronous one will still be selected.
Likewise, if the flag is not passed and there are only asynchronous main
functions available, the most specific asynchronous main function will
still be selected.
2022-04-02 16:14:01 -07:00
swift_jenkins
044f1f934b
Merge remote-tracking branch 'origin/main' into next
2022-04-02 08:20:25 -07:00
Slava Pestov
ed23f4fd9d
Merge pull request #42113 from slavapestov/gsb-off
...
Turn off the GenericSignatureBuilder
2022-04-02 11:04:24 -04:00
swift_jenkins
b1e0d1088c
Merge remote-tracking branch 'origin/main' into next
2022-04-02 04:20:19 -07:00
Yuta Saito
f492250b84
Merge pull request #42095 from kateinoigakukun/pr-26594e2245d681b594f6e1b190c8107a1c6dbb1d
...
[Wasm][Runtime] Interpret absolute function pointer in runtime structures
2022-04-02 20:04:23 +09:00
Slava Pestov
703d89c8bd
Turn off the GenericSignatureBuilder
...
The Requirement Machine has been enabled in 'verify' mode for a while,
where we run both the GenericSignatureBuilder and Requirement Machine
minimization algorithm and compare the results, with the
GenericSignatureBuilder being used to emit diagnostics.
Now, it's time to flip the flags to 'enabled' mode, where the
GenericSignatureBuilder doesn't run at all, and the Requirement Machine
emits diagnostics. This finally allows us to realize the correctness
and performance gains from using the Requirement Machine.
See https://forums.swift.org/t/the-requirement-machine-a-new-generics-implementation-based-on-term-rewriting/55601/9
for details.
Correctness:
- https://bugs.swift.org/browse/SR-7353
- https://bugs.swift.org/browse/SR-9595
- https://bugs.swift.org/browse/SR-10532
- https://bugs.swift.org/browse/SR-10752
- https://bugs.swift.org/browse/SR-11100
- https://bugs.swift.org/browse/SR-11532
- https://bugs.swift.org/browse/SR-11997
- https://bugs.swift.org/browse/SR-12120
- https://bugs.swift.org/browse/SR-12736
- https://bugs.swift.org/browse/SR-12980
- https://bugs.swift.org/browse/SR-13018
- https://bugs.swift.org/browse/SR-13491
- https://bugs.swift.org/browse/SR-13502
- https://bugs.swift.org/browse/SR-14484
- https://bugs.swift.org/browse/SR-14485
- https://bugs.swift.org/browse/SR-14659
- https://bugs.swift.org/browse/SR-14776
- https://bugs.swift.org/browse/SR-14917
- https://bugs.swift.org/browse/SR-15009
- https://bugs.swift.org/browse/SR-15790
- https://bugs.swift.org/browse/SR-15920
- rdar://25065503
- rdar://39225307
- rdar://44590919
- rdar://45957015
- rdar://50169558
- rdar://51068593
- rdar://52921168
- rdar://54394068
- rdar://55758433
- rdar://58455439
- rdar://59132837
- rdar://62894047
- rdar://64953119
- rdar://65015626
- rdar://65558829
- rdar://68084643
- rdar://68376692
- rdar://75329340
- rdar://76646764
- rdar://77683844
- rdar://77794156
- rdar://78233378
- rdar://78481510
- rdar://78643612
- rdar://80820294
- rdar://81276358
- rdar://81425392
- rdar://83308672
- rdar://83373331
- rdar://83848546
- rdar://83955123
- rdar://88514540
- rdar://89641532
- rdar://90264856
- rdar://90343419
Performance:
- rdar://33654588
- rdar://47821930
- rdar://51908331
- rdar://59037195
- rdar://65131776
- rdar://73771235
- rdar://75188696
GSB crashes with no reduced test case that are likely fixed:
- https://bugs.swift.org/browse/SR-4872
- rdar://32144681
- rdar://42376632
- rdar://46270030
- rdar://47199993
- rdar://48648900
- rdar://49535930
- rdar://49712445
- rdar://49712637
- rdar://49713096
- rdar://49713107
- rdar://60334839
- rdar://66593156
- rdar://68982368
- rdar://76706682
- rdar://77794745
- rdar://84724541
2022-04-02 01:55:21 -04:00
Yuta Saito
8c598e98f7
[Wasm][Runtime] Interpret absolute function pointer in runtime structures
...
When SWIFT_COMPACT_ABSOLUTE_FUNCTION_POINTER is enabled, relative direct
pointers whose pointees are functions will be turned into absolute
pointer at compile-time.
2022-04-02 04:32:41 +00:00
swift_jenkins
8cae5b706c
Merge remote-tracking branch 'origin/main' into next
2022-04-01 15:40:51 -07:00
Artem Chikin
aaee1c4bcf
Merge pull request #42140 from artemcm/EnableRegexLiteralFlag
...
Add support for `-enable-regex-literals` flag
2022-04-01 15:38:45 -07:00
Artem Chikin
b04ae26391
Add support for -enable-regex-literals flag
...
- Add driver and frontend option
- Add LangOptions entry
- Ensure driver propagates flag to frontends
- Add feature to `features.json`
Part of rdar://91119995
2022-04-01 12:14:28 -07:00
swift_jenkins
cf3a43bd8d
Merge remote-tracking branch 'origin/main' into next
2022-03-31 18:40:33 -07:00
Slava Pestov
b90d584128
Merge pull request #42111 from slavapestov/rqm-abstract-signatures-enable
...
LangOptions: Change default for RequirementMachineAbstractSignatures from Verify to Enabled
2022-03-31 21:24:20 -04:00
swift_jenkins
1fe6e938db
Merge remote-tracking branch 'origin/main' into next
2022-03-31 11:41:06 -07:00
Xi Ge
91c4f17b35
Frontend: flip the default of whether importing SPI_AVAILABLE from clang
2022-03-31 09:43:13 -07:00
Slava Pestov
a852b58e6c
LangOptions: Change default for RequirementMachineAbstractSignatures from Verify to Enabled
...
We've only seen false positives from verification here, and this request
doesn't emit diagnostics.
2022-03-31 11:21:22 -04:00
swift_jenkins
b208ce815c
Merge remote-tracking branch 'origin/main' into next
2022-03-27 20:20:56 -07:00
John McCall
c3c9b1bf56
Merge pull request #42047 from rjmccall/extended-existential-type-metadata
...
Add type metadata for extended existential types
2022-03-27 23:03:05 -04:00
John McCall
a2f6dd4129
[NFC] Appropriately delete and noexcept TaggedUnion's special members
2022-03-27 18:23:16 -04:00
swift_jenkins
8484bec59b
Merge remote-tracking branch 'origin/main' into next
2022-03-27 11:20:50 -07:00
John McCall
63db5457ce
[NFC] Add a utility to add the elements of a pack to a vector
...
When we adopt C++17, we'll be able to do this with a fold expression,
but this will be useful in the meantime.
2022-03-27 14:11:20 -04:00
Slava Pestov
132334cda9
RequirementMachine: Add debugging flag to disable re-using requirement machines
2022-03-27 11:54:28 -04:00
swift_jenkins
ad78b207f0
Merge remote-tracking branch 'origin/main' into next
2022-03-27 08:40:46 -07:00
Slava Pestov
cdcc8ed8fc
RequirementMachine: Enable loop normalization by default
2022-03-26 22:12:12 -04:00
swift_jenkins
11db631637
Merge remote-tracking branch 'origin/main' into next
2022-03-25 05:40:43 -07:00
Anthony Latsis
38e48ac15d
TypeWitnessSystem: Disable by default
2022-03-25 08:45:54 +03:00
swift_jenkins
f33b3a48de
Merge remote-tracking branch 'origin/main' into next
2022-03-24 19:21:03 -07:00
Doug Gregor
c4e6e6d105
Eliminate the EnableExperimentalDistributed language option.
...
Nothing is using it because this feature is enabled by default.
2022-03-24 16:00:26 -07:00
swift_jenkins
34fd16dd5b
Merge remote-tracking branch 'origin/main' into next
2022-03-22 22:00:54 -07:00
Evan Wilde
13c71c668d
Merge pull request #40769 from etcwilde/ewilde/noasync-unavailability
...
SE-0340: `noasync` availability kind
2022-03-22 21:42:09 -07:00
swift_jenkins
a3c2da7556
Merge remote-tracking branch 'origin/main' into next
2022-03-22 18:01:09 -07:00
Slava Pestov
5c5d2eadf6
Merge pull request #41945 from slavapestov/rqm-split-concrete-equiv-class-improvements
...
RequirementMachine: Improve the 'split concrete equivalence classes' hack a bit
2022-03-22 20:59:07 -04:00
Richard Wei
335b766b25
[ResultBuilders] Enable SE-0348 buildPartialBlock by default.
...
Enables SE-0348 `buildPartialBlock` feature by default. The frontend flag is kept for compatibility with existing clients, but is now ineffective.
Also includes some improved error messages for invalid result builder call sites.
2022-03-22 16:26:50 -07:00
Evan Wilde
aa51bdf17a
Add noasync availability kind to available attr
...
This patch adds the `noasync` availability kind to `@available`. The
spelling is `@available(*, noasync)`.
2022-03-22 15:12:51 -07:00
Slava Pestov
9ccdd15d58
RequirementMachine: Add upper bound on number of attempts at splitting concrete equivalence classes
2022-03-22 15:02:06 -04:00
swift_jenkins
99c01301af
Merge remote-tracking branch 'origin/main' into next
2022-03-21 22:20:58 -07:00
Andrew Trick
406aa86d2e
Merge pull request #41557 from atrick/addrlower-update
...
Update and reimplement AddressLowering pass (for SIL opaque values).
2022-03-21 22:15:06 -07:00
swift_jenkins
ad6219779f
Merge remote-tracking branch 'origin/main' into next
2022-03-21 08:20:58 -07:00
Alex Lorenz
2e3aa87737
Revert "Revert "Merge pull request #41831 from hyp/unify-header""
...
This reverts commit 4c9582c295 .
2022-03-19 13:36:28 -07:00
swift_jenkins
ebd711e594
Merge remote-tracking branch 'origin/main' into next
2022-03-18 14:40:29 -07:00
Slava Pestov
b93717cbae
RequirementMachine: Enable flags directly in LangOptions
...
This enables requirement machine minimization for all tools (SourceKit, etc)
not just the frontend.
2022-03-18 15:19:57 -04:00
swift_jenkins
586a4e3e3f
Merge remote-tracking branch 'origin/main' into next
2022-03-18 10:41:30 -07:00
Michael Gottesman
07e54bf641
Merge pull request #41890 from hyp/dev/unify-header
...
Revert "Merge pull request #41831 from hyp/unify-header"
2022-03-18 10:32:24 -07:00
Alex Lorenz
4c9582c295
Revert "Merge pull request #41831 from hyp/unify-header"
...
This reverts commit cd93d23bac , reversing
changes made to f9f5476e9a .
2022-03-18 10:03:07 -07:00
swift_jenkins
aeddce08c1
Merge remote-tracking branch 'origin/main' into next
2022-03-17 20:20:22 -07:00
Slava Pestov
e6d1ef9f6d
Merge pull request #41868 from slavapestov/rqm-opaque-archetypes
...
RequirementMachine: Opaque archetype support (sort of)
2022-03-17 23:06:24 -04:00
swift_jenkins
41b21eb443
Merge remote-tracking branch 'origin/main' into next
2022-03-17 17:01:28 -07:00
Artem Chikin
9a9f796f9b
Merge pull request #41844 from artemcm/TargetInfoCarefulJSON
...
Do not escape UNICODE when writing out target info.
2022-03-17 16:57:55 -07:00
Slava Pestov
2f727d6b47
RequirementMachine: Opaque archetype support (sort of)
...
Complete support is behind a flag, because it can result in a non-convergent
rewrite system if the opaque result type has a recursive conformance of its
own (eg, `some View` for SwiftUI's View protocol).
Without the flag, it's good enough for simple examples; you just can't have
a requirement that mentions a nested type of a type parameter equated to
the concrete type.
Fixes rdar://problem/88135291, https://bugs.swift.org/browse/SR-15983 .
2022-03-17 17:45:59 -04:00