Skip to content

Resolve conflicts with the main branch #2818

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 701 commits into from
Mar 10, 2021
Merged

Conversation

MaxDesiatov
Copy link

No description provided.

ahoppen and others added 29 commits March 2, 2021 20:07
The data of an OpaqueSyntaxNode should never be modified. Also, this
allows us to get rid of two const_casts.
It doesn't do anything anymore and we shouldn't have it, so let's just
remove it.
…fb375df29c1eb9c3815c2f2

Disable two tests on 32 bit until they are updated.
SIL: support store_borrow and partial_apply in memory lifetime verification
…te-navigator-subheading

[SymbolGraph] don't emit navigator name if it's the same as subHeading
The APIJSON tests used the default module cache and generated different
modules under the same name. This lead some tests to load a different
module than intended. This was made more easily detectable with the lock
on the swiftmodules instead of the swiftinterfaces.
Some ObjC runtime calls are weak or strong depending on the deployment target. When strong, we get warnings that the NULL checks always succeed; silence them.

Some of the adjacent code looked up functions using dlsym when they aren't provided by the SDK. Our current minimum SDK always has them, so remove the dlsym workaround.
…-bindings

[ConstraintSystem] Delay inference until let's clear that type variable attempt is successful
…guity-repr

[SR-14280][CSSimplify] Increase the score when matching functions with different representations for contextual type
…rkaround_r11_clobbere

IRGen: Remove hack
…t-path-frontend

[Frontend][Index] Add a new -index-unit-ouput-path and filelist equivalent to the frontend
The concurrency module gets imported implicitly when
`-enable-experimental-concurrency` is passed to the compiler. If the
concurrency module isn't imported, we crash on th assert verifying that
we were able to find it. We need the module to lookup the
`_runAsyncMain` function. This patch updates the compiler to stop
type-checking the async-main function and emit an error if the module
isn't available instead of crashing.
This patch adds a quick test to verify that we emit a reasonable error
message when trying to use async-main without enabling concurrency or
parsing as stdlib instead of crashing.

Under both circumstances, the _Concurrency library won't be implicitly
imported.
…lit-tests

[build-script] Pass --lit-test-dir while testing swift-driver
Add Real Enable/Disable Flags for Cross-Module Incremental Builds
[Frontend] Lock the swiftmodule when rebuilding from the swiftinterface
Platform: link against ComCtl32 when using Common Controls
…async-main

[Concurrency] Fix async-main crash
47b068d output a diagnostic if a
deserialized decl was invalid (checking `Decl::isInvalid`). It had two
major issues:
  1. It incorrectly output diagnostics for valid modules
  2. It did not catch call invalid declarations

(1) is caused by `isInvalid` falling back to checking the storage for
accessors when the interface type hasn't already been computed (a
fallback to prevent a cycle due to `SimpleDidSetRequest` typechecking
the body). Since the `VarDecl` hasn't finished deserializing, it returns
`true` for its `isInvalid` check (even though it would later return
`false`).

For (2), only `ValueDecl`s would ever be invalid, since other
declarations use a bit in `Decl` to check for validity. As that's not
serialized, those would always be valid in deserialization.

To avoid both these issues, instead output a flag for each declaration
representing whether it is invalid (or not). Read that during
deserialization and output a diagnostic if it is invalid. To be extra
sure that a diagnostic is always output on an error, also output one
when deserializing any `ErrorType`. This ensures that SILGen does not
run when allowing errors (and an error is present), as it is likely to
crash when presented with an invalid AST.

Resolves rdar://74541834
…n-abi

[TaskGroup] Towards ABI stability of groups
…d-type-descriptors

[Concurrency] Emit extended method type descriptors for @objc async methods
kavon and others added 13 commits March 6, 2021 10:26
…kup.

Each individual lookup is async since they're actor instances.
An actor can have @objc members, but not if those members are "actor-isolated",
i.e., not accessible from outside the actor according to the fundamental design
of actors. For example, a sync function is considered actor-isolated since it
needs special protection, so it cannot be @objc.

But, we now have special capabilities to treat sync actor functions as
implicitly async at use-sites outside of the actor. Does this mean that we can
now allow sync actor functions to be @objc? No. Because the implicitly-async
functionality does not extend to the world of ObjC: it simply would not be
feasible to implement it there.

Thus, I've added some extra regression-test coverage to handle these cases,
and clarified the assertion here to not confuse others.
Revert "Disable Test That Trips Coro Split Assert on Linux"
…dr_br instructions.

Handle destroy_addr of the destination. When replacing the cast, just remove such destroys.
In real world SIL there will always be a destroy_addr in the success-branch of the cast.
Not sure if this optimization could have ever kicked in for real world code.
Extract the "Src" and "Dest" operand indices for copy-like instructions (store, assign, copy_addr, cast) into a common base class.
This enables sharing common code to handle similar copy-like instructions.

NFC
Also, relax the check for enums a bit. Instead of only accepting single-payload enums, just require that the payload type is the same for an enum location.
@kateinoigakukun
Copy link
Member

Cherry-picked swiftlang#36122 🍒

@MaxDesiatov MaxDesiatov marked this pull request as ready for review March 9, 2021 16:43
@MaxDesiatov MaxDesiatov requested a review from a team March 9, 2021 16:43
@kateinoigakukun kateinoigakukun merged commit cd63202 into swiftwasm Mar 10, 2021
@kateinoigakukun kateinoigakukun deleted the maxd/main-merge branch March 10, 2021 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.