Skip to content

Merge main 2022-09-24 #4940

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 84 commits into from
Sep 26, 2022
Merged

Merge main 2022-09-24 #4940

merged 84 commits into from
Sep 26, 2022

Conversation

kateinoigakukun
Copy link
Member

No description provided.

etcwilde and others added 30 commits September 13, 2022 11:04
Swift 5.3 was the Swift stdlib from 11.0 up to and including 11.2, not
11.3.

Swift 5.3 was active from watchOS 7.0 up to and including 7.3, not 7.4.
5.6 corresponds with:
5.6: macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4
Swift 5.7 corresponds with: macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0
There's a number of paths that end up calling into `initIndexSymbol`
that may or may not have checked that the given location is actually
valid. Add an extra check within the method to guarantee we only output
0:0 locations when indexing modules.

Resolves rdar://98645486.
…uctors.

In the process of doing this I also moved the logic of checking if a type can
have a destructor to the type checker from the parser.
…ve only types.

Even though with this change we emit the deinit, it isn't used yet since we
still need to implement the move only deinit table/teach the checker how to call
these/teach IRGen how to call this from the destroying value witness.
This allows one to know that the type is for a first class move only type and
not a move only wrapped type.

Previously, I did this by checking type.isMoveOnly() &&
!type.isMoveOnlyWrapped(). Better to just have a helper that semantically does
this rather than using a code pattern that doesn't semantically say what it
actually does unless one knows the intent.
…a move only type.

Specifically, we get an additional table like thing called sil_moveonlydeinit. It looks as follows:

sil_moveonlydeinit TYPE {
  @FUNC_NAME
}

It always has a single entry.
I am pretty sure this would never actually be an issue, but I am trying to just
be careful and consistent.
…tors just for classes.

Otherwise it triggers for non-class nominal move only types as well, which we do
not want.
…alue of known deinit move only types to call the deinit directly.

NOTE: If one does not define a deinit on a move only type, if a destroy_value
lasts until IRGen time we will assert since I haven't implemented support in
IRGen for the destroy value witness for move only types. That being said, just
creating a deinit by adding to such a type:

```
deinit {}
```

is pretty low overhead for the experiments we want to use this for.
* about
* and
* answering
* because
* before
* cancellation
* clear
* comment
* complete
* corresponding
* cursor
* custom
* dependencies
* doesn't
* expression
* extension
* immediately
* implementation
* implicit
* innovation
* intentionally
* occasionally
* oldest
* parameter
* property
* response
* reuseastcontext
* snapshot
* sourcekit_swift_runtime_link_flags
* synchronously
* target
* that
* unlabeled
* usefulness
* work

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
In the general case, the compiler should add ptrauth instructions even
for simple pointer equality checks.  We therefore need to manually avoid
these checks; making this workaround permanent.
…are enabled.

The proof of concept is only intended to be used without optimizations right
now.
…ensions.

Instead of checking for unavailability attributes directly in the solver, use `AvailableAttr::isUnavailable` which checks the enclosing extension too, if necessary.

Resolves rdar://92364955
Pass the correct type to `emitHeapMetadataRefForHeapObject()`.
Fixes a runtime crash in case a class protocol is cast to a final swift class, where the actual object is an ObjectiveC class instance.

rdar://99626888
shahmishal and others added 26 commits September 22, 2022 22:26
[github] Switch from the old Jira format to github issues for the PR template
…ax-support

Move gyb_syntax_support in swift-syntax from Sources/generate-swift-syntax-builder to Code-Generation
…mentally

Add missing file dependency for gyb'd attribute generation.
…-versions

Fix and update `getSwiftRuntimeCompatibilityVersionForTarget`
…sion

It's possible that TypeChecker::typeCheckStmt has did not propagate
`HadError` properly while checking the body of a function, so opaque
result checker has to be careful about requesting types from expressions.

Resolves: rdar://100066109
…nonzero-bootstrap

[CMake with Swift] Set rpath for stage != 0 bootstrapping builds.
…s for store_borrow

Generic Cloner creates store_borrow for in_guaranteed args in OSSA. We use PrunedLiveness
to compute the boundary of store_borrow for inserting end_borrows. However, if there is an escape
boundary cannot be found, and we insert end_borrows at function exits. FunctionExists are populated while cloning.
There is an edgecase, where the Generic Cloner is explicitly creating return instructions, these were not inserted
in FunctionExits, thereby missing an end_borrow on that path. This PR fixes it.

rdar://99874076
…one where we really need ASCII (swiftlang#61086)

Separate out ASCII and UTF8 in NSString accessors, and use the ASCII one where we really need ASCII
[cxx-interop] Add plus-equal, minus-equal, star-equal, slash-equal operators.
…peephole-for-capture-lists

SILGen: Apply function_conversion peephole to CaptureListExprs.
…61272)

This was a leftover from moving the attribtue to swift-syntax
…ty-flow

[DI] sink injectActorHops() after processing destroys
[interop][docs] update status page for recent generic enum, Array and…
[MiscDiagnostics] OpaqueChecker: Double-check validity of last expres…
…ite-to-gh-issues-24

Gardening: Migrate test suite to GH issues p. 24
Fix an edge case in GenericCloner which was not generating end_borrows for store_borrow
…ite-to-gh-issues-25

Gardening: Migrate test suite to GH issues p. 25
@kateinoigakukun kateinoigakukun marked this pull request as ready for review September 26, 2022 09:40
@kateinoigakukun kateinoigakukun merged commit 67affbd into swiftwasm Sep 26, 2022
@kateinoigakukun kateinoigakukun deleted the katei/merge-main-2022-09-24 branch September 26, 2022 09:40
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.