Commit Graph

4080 Commits

Author SHA1 Message Date
Doug Gregor
f52f0a50dd Replace SWIFT_SWIFT_PARSER_ROUNDTRIP with an experimental feature.
Remove the CMake configuration option `SWIFT_SWIFT_PARSER_ROUNDTRIP`.
Instead, whenever the "early" SwiftSyntax module is built, link the
Swift Swift parser into the compiler and related tools.

Introduce a new experimental feature `ParserRoundTrip` that can be
enabled to perform round-trip testing.
2022-09-07 18:16:30 -07:00
Doug Gregor
9df77e9932 Add a stub constructor for LangOptions.
Having an out-of-line definition for the LangOptions constructor makes
it easier to enable experimental features one at a time for a build,
without rebuilding everything.
2022-09-07 18:14:07 -07:00
Michael Gottesman
4dc6e6ecc4 [move-keyword] Remove old implementation.
By using the keyword instead of the function, we actually get a much simpler
implementation since we avoid all of the machinery of SILGenApply. Given that we
are going down that path, I am removing the old builtin implementation since it
is dead code.

The reason why I am removing this now is that in a subsequent commit, I want to
move all of the ownership checking passes to run /before/ mandatory inlining. I
originally placed the passes after mandatory inlining since the function version
of the move keyword was transparent and needing to be inlined before we could
process it. Since we use the keyword now, that is no longer an issue.
2022-09-04 01:19:01 -07:00
Alexis Laferrière
b680084748 [Sema] @_spiOnly needs to be enabled with a flag 2022-09-01 15:16:46 -07:00
Pavel Yaskevich
a3b54308d2 [Frontend] Mark 'Type Wrappers' as experimental feature that has to be enabled 2022-08-26 12:25:22 -07:00
Evan Wilde
22ddee9de4 Add FlagSet::getField constexpr annotation
In the backdeploy library, `ActiveTaskStatus` takes
`JobFlags::getPriority()` in the constexpr constructor; however,
`JobFlags::getPriority()` isn't constexpr, so this is incorrect.
2022-08-18 15:32:11 -07:00
Artem Chikin
256c0ff04a [Explicit Modules] On an explicit interface build, early exit if the expected output is up-to-date. 2022-08-16 18:31:13 -07:00
swift-ci
3da5e97aac Merge remote-tracking branch 'origin/main' into rebranch 2022-08-10 16:13:08 -07:00
Ben Barham
a59fa46813 Merge pull request #60426 from bnbarham/include-smallvec
[Basic] Include SmallVector.h for Clang <= 5
2022-08-10 15:54:48 -07:00
swift-ci
cbe90c03b5 Merge remote-tracking branch 'origin/main' into rebranch 2022-08-09 20:55:09 -07:00
Slava Pestov
cb0721fa6e Merge pull request #60470 from slavapestov/rename-conformance-path
AST: Rename ConformanceAccessPath to ConformancePath
2022-08-09 23:45:32 -04:00
Slava Pestov
4a041c57d0 AST: Rename ConformanceAccessPath to ConformancePath 2022-08-09 13:34:27 -04:00
swift-ci
96662b5a50 Merge remote-tracking branch 'origin/main' into rebranch 2022-08-08 20:32:55 -07:00
Ben Barham
44a1fe8487 [NFC] Include SmallVector.h for Clang <= 5
Clang 5 (possibly earlier) has a bug where it does not merge default
template arguments properly for forwarded declarations. Include
`SmallVector.h` directly in this case. This will slightly increase
compile times, but only for very old compilers and only for files that
don't already include `SmallVector.h` (of which there's currently only
23).
2022-08-05 17:25:05 -07:00
Angela Laar
0c36d817e8 [Frontend] Add flag to enable existential any 2022-08-04 17:45:57 -07:00
Ben Barham
22d62bb4e0 Merge remote-tracking branch 'origin/main' into rebranch
Trivial conflict caused by the line above the
`IGM.constructInitialFnAttributes` change in `lib/IRGen/GenDecl.cpp`
having an extra argument passed in rebranch (due to the new LLVM API).
2022-08-03 19:12:06 -07:00
Pavel Yaskevich
45122f55d0 [Frontend] Add an option to enable new result builder transform 2022-08-02 11:03:26 -07:00
swift-ci
fe778db9fc Merge remote-tracking branch 'origin/main' into rebranch 2022-08-01 14:33:45 -07:00
Allan Shortlidge
34012dbc68 Frontend: Rename -enable-ad-hoc-availability to -weak-link-at-target.
I am separating the concern of weakly linking symbols that are introduced at the deployment target from the concern of type checking this new type of potential unavailability.

Resolves rdar://97925900
2022-08-01 11:57:06 -07:00
swift-ci
57420eb1af Merge remote-tracking branch 'origin/main' into rebranch 2022-07-27 11:35:49 -07:00
Egor Zhdan
7f4101080e Merge pull request #60226 from 3405691582/AssertHeaderBootstrapping
Include assert.h manually in SourceLoc.h.
2022-07-27 19:24:04 +01:00
3405691582
c5e9e20828 Include assert.h manually in SourceLoc.h.
On the BSDs when building with bootstrapping and therefore modules enabled,
this will result in a "declaration here is not visible" error. This is
_possibly_ because the assert implementation is not reexported from LLVM,
maybe due to libc differences. Regardless, this fixes the problem and
should be relatively inocuous to unconditionally include.
2022-07-26 17:46:25 -04:00
swift-ci
40d3b02cfa Merge remote-tracking branch 'origin/main' into rebranch 2022-07-25 06:35:29 -07:00
Egor Zhdan
8165806aa0 Merge pull request #60174 from apple/egorzhdan/scs-stringref-p1
[cxx-interop][SwiftCompilerSources] Use `llvm::StringRef` instead of `BridgedStringRef`
2022-07-25 14:26:59 +01:00
swift-ci
4e2838d9f1 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-23 20:53:19 -07:00
Zoe Carver
bd003bcd7f Merge pull request #59509 from zoecarver/frt-with-ref-counting
[cxx-interop] Add support for reference counting operations on foreign reference types.
2022-07-23 20:51:39 -07:00
swift-ci
1611ec3dc3 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-22 20:53:51 -07:00
Jonathan Penn
be5babf28c Add experimental flag to turn on just opaque type erasure (#60172)
This was already enabled as part of `-enable-implicit-dynamic` but this
new flag allows turning on opaque type erasure all by itself whether or
not `dynamic` is added explicitly.

rdar://97375478
2022-07-22 23:43:22 -04:00
zoecarver
13b0a5bc37 [nfc] Clang format changes. 2022-07-21 17:34:36 -04:00
swift-ci
b99996dbbd Merge remote-tracking branch 'origin/main' into rebranch 2022-07-21 13:37:34 -07:00
Artem Chikin
85b767dea2 Merge pull request #60139 from artemcm/AddConstValueExtractionPathHandling
Add supplementary output path handling for extracted compile-time-known values
2022-07-21 13:19:42 -07:00
Egor Zhdan
0e2d438c5b [cxx-interop][SwiftCompilerSources] Use llvm::StringRef instead of BridgedStringRef
rdar://83361000
2022-07-21 16:32:16 +01:00
swift-ci
da96ee6bd2 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-20 12:38:23 -07:00
Doug Gregor
0fdba62bd8 Merge pull request #59055 from DougGregor/future-feature
[SE-0362] Piecemeal adoption of upcoming language improvements
2022-07-20 12:26:00 -07:00
Doug Gregor
a317fad88d Add -enable-upcoming-feature X command-line argument.
Introduce the `-enable-upcoming-feature X` command-line argument to
allow one to opt into features that will be enabled in an upcoming language
mode. Stage in several features this way (`ConciseMagicFile`,
`ForwardTrailingClosures`, `BareSlashRegexLiterals`).
2022-07-19 21:20:12 -07:00
swift-ci
9de631f94f Merge remote-tracking branch 'origin/main' into rebranch 2022-07-19 17:35:57 -07:00
Zoe Carver
33335f968f Merge pull request #59624 from zoecarver/disable-eager-import 2022-07-19 20:32:37 -04:00
Artem Chikin
b1fee939f1 Add supplementary output path handling for extracted compile-time-known values 2022-07-19 16:24:26 -07:00
zoecarver
ba2eb7b3ff [libswift] Update SWIFT_IMPORT_REFERENCE to use import_reference. 2022-07-18 22:27:02 -04:00
swift-ci
e9c324099a Merge remote-tracking branch 'origin/main' into rebranch 2022-07-18 16:13:31 -07:00
Alexis Laferrière
86eb55c3ab Merge pull request #60107 from xymus/swiftmodule-tag-fix
[Serialization] Use a more reliable macro to get the compiler tag
2022-07-18 16:10:00 -07:00
Alexis Laferrière
36b87d3c5c [Serialization] Use a more reliable macro to get the compiler tag
Use only the SWIFT_COMPILER_VERSION macro to check for swiftmodules
being written by the same compiler that reads it. In practice, it's the
macro used for release builds of the compiler.

rdar://96868333
2022-07-18 13:20:20 -07:00
Doug Gregor
28a0f83590 Turn @Sendable completion handlers into an experimental feature.
`@Sendable` on completion handlers imported from Objective-C has been
implemented for a while, but has been disabled in production builds
due to a number of problems we've encountered with rolling it out.

Introduce an experimental feature for `@Sendable` completion handlers
so we can iterate on this more before we enable it by default.

Part of rdar://85569247, which will cover re-landing this feature.
2022-07-18 12:29:28 -07:00
swift-ci
1e9f12c782 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-15 07:14:24 -07:00
Egor Zhdan
e9dedf3c27 [cxx-interop][SwiftCompilerSources] Use swift::DiagnosticEngine instead of BridgedDiagnosticEngine
This also removes `BridgedOptionalDiagnosticEngine`.

rdar://83361087
2022-07-14 11:06:31 +01:00
swift-ci
7382a9c41e Merge remote-tracking branch 'origin/main' into rebranch 2022-07-11 07:53:46 -07:00
nate-chandler
aff4e799d9 Merge pull request #59726 from nate-chandler/freestanding/task-to-thread-model
[Freestanding] Disable unstructured tasks.
2022-07-11 07:40:31 -07:00
Nate Chandler
34c08b8344 [TaskToThread] Add Task.runInline.
The new intrinsic, exposed via static functions on Task<T, Never> and
Task<T, Error> (rethrowing), begins an asynchronous context within a
synchronous caller's context.  This is only available for use under the
task-to-thread concurrency model, and even then only under SPI.
2022-07-08 08:44:18 -07:00
swift-ci
6f27d51ec6 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-08 02:54:05 -07:00
Egor Zhdan
220d95e3d9 [cxx-interop][SwiftCompilerSources] Use swift::CharSourceRange instead of BridgedCharSourceRange
This removes some of the bridging code and replaces it with C++ calls.

rdar://83361087
2022-07-07 12:00:12 +01:00