forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
[pull] swiftwasm from main #4883
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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…al.none still works
This reverts commit 2e76562.
Cleanup code in _modify accessors will only run reliably if it is put in a defer statement. (Statements that follow the `yield` aren’t executed if the yielded-to code throws an error.)
… DiagnosticsParse.def.
Introduce the compiler directive `#_hasSymbol` which will be used to detect whether weakly linked symbols are present at runtime. It is intended for use in combination with `@_weakLinked import` or `-weak-link-at-target`. ``` if #_hasSymbol(foo(_:)) { foo(42) } ``` Parsing only; SILGen is coming in a later commit. Resolves rdar://99342017
There are only new users of @_spiOnly so we can already make this diagnostic an error.
…ctory matches the invocation. The Swift compiler does not have a concept of a working directory. It is instead handled by the Swift driver by resolving relative paths according to the driver's working directory argument. On the other hand, Clang does have a concept working directory which may be specified on this Clang invocation with '-working-directory'. If so, it is crucial that we use this directory as an argument to the Clang scanner API. Otherwiswe, we risk having a mismatch between the working directory specified on the scanner's Clang invocation and the one use from the scanner API entry-points, which leads to downstream inconsistencies and errors.
… to handle mark_must_check on addresses.
When examining non-trivial types which were non-lexical, when a field lacks a field decl (as happens with tuples), whether the type was annotated @_eagerMove was overlooked, resulting in incorrectly determining that a leaf was lexical.
In addition to starting all RecursiveProperties values which are NonTrivial as Lexical, also mark instances of the structs which are modified to become NonTrivial to simultaneously become Lexical.
…cker. Some notes: 1. I added support for both loadable/address only types. 2. These tests are based off of porting the move only object tests for inout, vars, mutating self, etc. 3. I did not include already written tests for address only types in this specific merge since I need to change us to borrow move only var like types. Without that, we get a lot of spurious error msgs and the burden of writing that is not worth it. So instead in a forthcoming commit where I fix that issue in SILGen, I will commit the corresponding address only tests for this work. 4. I did not include support for trivial types in this. I am going to do object/address for that at the same time.
…dress-checker [move-only] Initial patch for move only address checking.
If the string to parse doesn't start with a token which belongs to a projection path, just return an empty path instead of throwing an error.
So far, argument effects were printed in square brackets before the function name, e.g. ``` sil [escapes !%0.**, !%1, %1.c*.v** => %0.v**] @foo : $@convention(thin) (@guaranteed T) -> @out S { bb0(%0 : $*S, %1 : @guaranteed $T): ... ``` As we are adding more argument effects, this becomes unreadable. To make it more readable, print the effects after the opening curly brace, and print a separate line for each argument. E.g. ``` sil [ossa] @foo : $@convention(thin) (@guaranteed T) -> @out S { [%0: noescape **] [%1: noescape, escape c*.v** => %0.v**] bb0(%0 : $*S, %1 : @guaranteed $T): ... ```
…parison-to-optional.none-case Add warning when comparing a non-optional value to `Optional.none`
SIL: make argument effects more readable in textual SIL
Avoid introducing extra terminology via an underscored attribute. rdar://99723104
[Dependency Scanner] Ensure the Clang dependency scanner working directory matches the invocation.
AST: Parse `#_hasSymbol`
…d of creating a dummy file
[Dependency Scanner] Add API to query emitted diagnostics during a scan
…ations [stdlib] _modify: Ensure cleanup is always executed
…into Swift and then back to C++
[interop] pass and return C++ value types to/from Swift in C++
… context from C++ ♾
…ursive-properties-bug Fix bug with lexical recursive property.
Renamed _noEagerMove attribute.
There are a bunch of places where we expect to find a record with a particular record ID/kind in the decls_block and have to bail out if we see something we don’t expect. Add an `InvalidRecordKindError` we can use in this situation to produce a useful error message and adopt it in various places. This change also makes deserialization errors print the path to the invalid file.
[Sema] Integrate `@_spiOnly` imports logic with recent API checks
[Dependency Scanner] Use Clang scanner's module name query API instead of creating a dummy file
…part of the identifier (swiftlang#61036)
Avoid generating address phis in LoopUnroll
[interop] use C++ value types bridged to Swift in Swift generic context from C++
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )