Commit Graph

4080 Commits

Author SHA1 Message Date
swift-ci
9f8035987f Merge remote-tracking branch 'origin/main' into rebranch 2021-11-29 14:53:04 -08:00
Saleem Abdulrasool
910fbee14e gardening: make c++98-compat-extra-semi an error
This cleans up 90 instances of this warning and reduces the build spew
when building on Linux.  This helps identify actual issues when
building which can get lost in the stream of warning messages.  It also
helps restore the ability to build the compiler with gcc.
2021-11-27 11:40:17 -08:00
Slava Pestov
163293e6f9 RequirementMachine: Split up -requirement-machine-generic-signatures flag into -requirement-machine-{abstract,inferred}-signatures 2021-11-19 17:06:00 -05:00
swift_jenkins
ca34f0b35e Merge remote-tracking branch 'origin/main' into next 2021-11-19 12:20:59 -08:00
swift-ci
908cd43b0d Merge remote-tracking branch 'origin/main' into rebranch 2021-11-19 12:13:27 -08:00
swift-ci
17f1cf9297 Merge pull request #40240 from rxwei/string-processing-module 2021-11-19 12:12:06 -08:00
Richard Wei
65bffd7ad7 Add _MatchingEngine and _StringProcessing modules.
These modules are part of the experimental declarative string processing feature. If accepted to the Standard Library, _StringProcessing will be available via implicit import just like _Concurrency, though _MatchingEngine will still be hidden as an implementation detail.

`_MatchingEngine` will contain the general-purpose pattern matching engine ISA, bytecode, and executor. `_StringProcessing` will contain regular expression and pattern matching APIs whose implementation depends on the matching engine..

Also consolidates frontend flag `-enable-experimental-regex` as `-enable-experimental-string-processing`.

Resolves rdar://85478647.
2021-11-19 09:27:33 -08:00
swift_jenkins
3cec90f85b Merge remote-tracking branch 'origin/main' into next 2021-11-19 00:01:24 -08:00
swift-ci
df36f1fd14 Merge remote-tracking branch 'origin/main' into rebranch 2021-11-18 23:53:49 -08:00
Doug Gregor
6d5d23aa18 Add a feature flag for Builtin.stackAlloc and friends
... and use it in inlinable code so older compilers don't break on
newer standard libraries, fixing rdar://85574956.
2021-11-18 21:00:05 -08:00
Ben Barham
bd4b73755b [next] Update DenseMapInfo declarations
llvm-project 4c484f11d355e4293f7b245a9330f0a1e89630ac updated the
`DenseMapInfo` template to take a SFINAE template parameter.
2021-11-18 21:58:56 +10:00
Ben Barham
0316c913c1 [rebranch] Delegate to DenseMapInfo<APInt> where possible
`WidthPreservingAPIntDenseMapInfo` uses the same `getHashValue` and
`isEqual` as the normal `DenseMapInfo` but with different empty and
tombstone keys. `hash_value` is no longer a complete type, so just
delegate to `DenseMapInfo<APInt>` rather than add another `#include`.
2021-11-18 21:58:55 +10:00
swift-ci
6b368bda82 Merge remote-tracking branch 'origin/main' into rebranch 2021-11-17 10:33:34 -08:00
swift_jenkins
8e955a207b Merge remote-tracking branch 'origin/main' into next 2021-11-17 10:21:13 -08:00
Pavel Yaskevich
63f355fde0 Merge pull request #39989 from xedin/more-diag-improvements-for-multi-stmt-closures
[TypeChecker] SE-0326: Enable multi-statement closure inference by default
2021-11-17 10:14:58 -08:00
Ben Barham
11f28196bc Merge pull request #40168 from bnbarham/rebranch-failures
[rebranch] Fix compilation failures
2021-11-17 08:50:11 +10:00
swift-ci
db9d12508e Merge remote-tracking branch 'origin/main' into rebranch 2021-11-15 19:34:09 -08:00
swift_jenkins
abfca2c0fd Merge remote-tracking branch 'origin/main' into next 2021-11-15 19:21:14 -08:00
Pavel Yaskevich
b231cdeed4 [TypeChecker] SE-0326: Enable multi-statement closure inference by default 2021-11-15 18:32:40 -08:00
John McCall
c5c78c55f2 Add an insertAtFront method to the list merger.
The existing insert method preserves insertion order, but the
atomic queue use case actually wants to *reverse* the natural
insertion order.
2021-11-15 17:28:51 -05:00
swift_jenkins
a46802cd07 Merge remote-tracking branch 'origin/main' into next 2021-11-14 06:21:12 -08:00
swift-ci
265dacd35f Merge remote-tracking branch 'origin/main' into rebranch 2021-11-14 06:14:11 -08:00
Michael Ilseman
2740e2707c Experimental Regex Strawperson (use Swift in the parser) (#40117)
[regex] Use Swift in the parser

Add in a strawperson use of Swift by the parser, for
future regex support.
2021-11-14 07:11:47 -07:00
swift-ci
e7200268ed Merge remote-tracking branch 'origin/main' into rebranch 2021-11-13 09:34:28 -08:00
swift_jenkins
8957f23b16 Merge remote-tracking branch 'origin/main' into next 2021-11-13 09:21:15 -08:00
Artem Chikin
b10696ed5f Merge pull request #40160 from artemcm/SwiftScanTargetInfoQuery
Add `libSwiftScan` entry-point to query target info.
2021-11-13 09:16:09 -08:00
Ben Barham
de79a71b98 [rebranch] Delegate to DenseMapInfo<APInt> where possible
`WidthPreservingAPIntDenseMapInfo` uses the same `getHashValue` and
`isEqual` as the normal `DenseMapInfo` but with different empty and
tombstone keys. `hash_value` is no longer a complete type, so just
delegate to `DenseMapInfo<APInt>` rather than add another `#include`.
2021-11-13 17:04:29 +10:00
Artem Chikin
40a1b321f5 Add libSwiftScan entry-point to query target info.
This provides the library with functionality to answer `-print-target-info` queries in place of calls to `swift-frontend`.
2021-11-12 11:01:45 -08:00
swift_jenkins
2042414fb7 Merge remote-tracking branch 'origin/main' into next 2021-11-12 10:20:18 -08:00
swift-ci
16126f023d Merge remote-tracking branch 'origin/main' into rebranch 2021-11-12 10:14:07 -08:00
Slava Pestov
d0a8abb533 RequirementMachine: Add -requirement-machine-generic-signatures flag
Just as with the others, this has three values: on, off, and verify.
Not hooked up for now.
2021-11-12 00:32:43 -05:00
swift-ci
f2b9554570 Merge remote-tracking branch 'origin/main' into rebranch 2021-11-08 12:23:56 -08:00
swift_jenkins
1f836396ac Merge remote-tracking branch 'origin/main' into next 2021-11-08 12:20:35 -08:00
Arnold Schwaighofer
dcfd916761 Define a feature for _specialize with availability
rdar://84782342
2021-10-30 06:16:27 -07:00
swift_jenkins
917f7b18df Merge remote-tracking branch 'origin/main' into next 2021-10-29 20:01:55 -07:00
swift-ci
dee2b5fea7 Merge remote-tracking branch 'origin/main' into rebranch 2021-10-29 19:34:23 -07:00
Michael Gottesman
f9122a79b7 [moveOnly] Implement a new _copy function that performs an explicit copy value.
The key thing is that the move checker will not consider the explicit copy value
to be a copy_value that can be rewritten, ensuring that any uses of the result
of the explicit copy_value (consuming or other wise) are not checked.

Similar to the _move operator I recently introduced, this is a transparent
function so we can perform one level of specialization and thus at least be
generic over all concrete types.
2021-10-29 15:37:46 -07:00
swift_jenkins
6bb887d8fd Merge remote-tracking branch 'origin/main' into next 2021-10-28 04:24:16 -07:00
swift-ci
7081f4dd9c Merge remote-tracking branch 'origin/main' into rebranch 2021-10-28 02:34:19 -07:00
Michael Gottesman
44bd180d85 [moveOnly] Add a frontend flag -enable-experimental-move-only to control usage of move only features.
These include _move and @_noImplicitCopy. I still need to wire up the parsing of
those behind this feature.

The reason that I am adding this now is that I am going to now need to make some
changes behind a feature flag and I have not yet needed to add one. The specific
reason I needed to add one here is to ensure that I properly guard inside _move
the call to Builtin.move so as to prevent a "cond_fail" incident.

P.S.: This work depends on experimental lexical lifetimes being enabled as well,
so I did that at the same time in this PR.
2021-10-27 18:45:33 -07:00
Michael Gottesman
ac85770329 [moveOnly] Add a feature for BuiltinMove that we can use to prevent cond_fail errors.
We use it in a subsequent commit in this PR to guard BuiltinMove.
2021-10-27 18:45:33 -07:00
swift_jenkins
1d6270d191 Merge remote-tracking branch 'origin/main' into next 2021-10-22 15:21:04 -07:00
John McCall
28c07c56bd [NFC] Add a utility for handling sorted linked lists
We'll be using this in the default actor implementation.
2021-10-21 21:46:55 -04:00
Evan Wilde
6cc002012f Update ByteStream APIs from 32 to 64 bit
The ByteStream APIs were updated from 32 to 64 bits in LLVM.

Updating methods in the ExponentialGrowthAppendingBinaryByteStream.
2021-10-21 13:40:42 -07:00
Nate Chandler
42f318d9ef [Basic] Renamed GraphNodeWorklist.
Addressed the TODO saying that DAGNodeWorklist should be renamed
GraphNodeWorklist.
2021-10-18 08:55:13 -07:00
Ben Barham
624337148b [NFC] Formatting cleanup to help with next conflicts 2021-10-15 17:15:51 +10:00
Nate Chandler
23a9a1d4c9 Moved lexical lifetime flag to SILOptions.
Previously, the flag was a LangOptioins.  That didn't make much sense because
this isn't really a user-facing behavior.  More importantly, as a member
of that type type it couldn't be accessed when setting up pass
pipelines.  Here, the flag is moved to SILOptions.
2021-10-13 13:47:44 -07:00
Slava Pestov
ab2a799b99 Merge pull request #39700 from slavapestov/two-rqm-fixes
RequirementMachine: Fix a couple of minor problems
2021-10-12 14:25:54 -04:00
Slava Pestov
6ee74b35db RequirementMachine: Bump default step limit from 2000 to 4000 2021-10-11 23:06:19 -04:00
Xi Ge
2d43a9259e Frontend: teach final module emitting jobs to dump a placeholder file for module semantic info
This additional supplement output should capture semantic info the compiler has
captured while building a Swift module. Similar to the source info file, the content of
the semantic info file should only be consumed by local tooling written in Swift.
2021-10-11 18:19:26 -07:00