Commit Graph

4049 Commits

Author SHA1 Message Date
swift_jenkins
cc124b156e Merge remote-tracking branch 'origin/main' into next 2022-04-12 13:40:56 -07:00
Hamish Knight
63b8db1659 Start using '-enable-bare-slash-regex'
Change the flag to imply
'-enable-experimental-string-processing', and
and update some tests to start using it.
2022-04-12 16:03:47 +01:00
swift_jenkins
e515b1eee3 Merge remote-tracking branch 'origin/main' into next 2022-04-11 17:35:08 -07:00
Slava Pestov
87155f9baa Merge pull request #42308 from slavapestov/primary-associated-types-feature
ASTPrinter: Rename PrimaryAssociatedTypes feature to PrimaryAssociatedTypes2
2022-04-11 17:39:25 -04:00
Slava Pestov
9a7df88bc8 ASTPrinter: Rename PrimaryAssociatedTypes feature to PrimaryAssociatedTypes2
There was a window where the PrimaryAssociatedTypes feature guarded the old
syntax; let's make sure we don't see breakage if a new standard library is
used with an old compiler.
2022-04-11 15:27:38 -04:00
swift_jenkins
4d77c0f437 Merge remote-tracking branch 'origin/main' into next 2022-04-11 11:21:26 -07:00
Ben Barham
96acd33650 Merge pull request #42268 from bnbarham/add-objc-doc-to-symbolgraph
[CursorInfo] Add Clang documentation to SymbolGraph output
2022-04-11 11:09:07 -07:00
swift_jenkins
abe738e7f6 Merge remote-tracking branch 'origin/main' into next 2022-04-08 16:21:40 -07:00
Pavel Yaskevich
f7253f253e Merge pull request #42228 from xedin/enable-se-0347-by-default
[TypeChecker] SE-0347: Enable type inference from default expressions
2022-04-08 16:10:20 -07:00
Ben Barham
e2c9836a1d [CursorInfo] Add Clang documentation to SymbolGraph output
This currently doesn't check for inherited docs, ie. either the
imported declaration has docs or it doesn't. There's also a few odd
cases with mixed doc types and when each line is prefixed with '*', but
it's good enough for an initial implementation.

Moves UTF8 sanitisation out of ASTPrinter.h and into Unicode.h so that
it can be used here as well.

Resolves rdar://91388603.
2022-04-08 13:46:38 -07:00
swift_jenkins
7c6d0a8f74 Merge remote-tracking branch 'origin/main' into next 2022-04-07 05:00:31 -07:00
Slava Pestov
edbbf48898 ASTPrinter: Add SE number for PrimaryAssociatedTypes feature 2022-04-06 23:47:10 -04:00
swift_jenkins
724149edf2 Merge remote-tracking branch 'origin/main' into next 2022-04-06 17:41:44 -07:00
Pavel Yaskevich
b03021dbb7 [TypeChecker] SE-0347: Enable type inference from default expressions 2022-04-06 15:03:00 -07:00
Slava Pestov
1bf248e374 Enable parameterized protocols by default, and add new staging flag for parameterized existentials 2022-04-06 17:30:10 -04:00
swift_jenkins
201afcffd9 Merge remote-tracking branch 'origin/main' into next 2022-04-04 21:41:04 -07:00
swift-ci
882edde92f Merge pull request #41966 from rxwei/se-0348-if-approved
[ResultBuilders] Enable SE-0348 `buildPartialBlock` by default.
2022-04-04 21:21:19 -07:00
swift_jenkins
47220a0159 Merge remote-tracking branch 'origin/main' into next 2022-04-04 16:41:02 -07:00
Richard Wei
065ac52c0d Add frontend flag -disable-implicit-string-processing-module-import.
We add a new flag to disable the implicit import of `_StringProcessing`, similar to `-disable-implicit-concurrency-module-import`. We need this to build `_RegexParser` when `-enable-experimental-string-processing` is enabled by default, because `_StringProcessing` currently imports `_RegexParser` publicly (non-implementation-only).
2022-04-04 13:55:47 -07:00
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