Skip to content

[pull] swiftwasm from main #4091

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 18 commits into from
Jan 8, 2022
Merged

[pull] swiftwasm from main #4091

merged 18 commits into from
Jan 8, 2022

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 8, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

mininny and others added 18 commits August 25, 2021 08:25
mangleOpaqueTypeDecl() used to enable DWARFMangling, which
ignores @_originallyDefinedIn, which would in turn break module
interfaces.

Fixes rdar://problem/86480663.
When we switched this path over to use lazy member loading, a
subsequent commit introduced a check that members were canonical. In
certain extremely twisty scenarios involving multiple modular frameworks
pulling in non-modular headers, this check can fail which results in us
silently dropping these members on the floor.

It's ultimately correct to only pull in the canonical members, but real-world
examples of "system" frameworks evading modularity diagnostics exist so this
is strictly a regression.

Drop the canonicity check for FieldDecls.

rdar://86740970
The verifier checked for `isTypeDependentOperand()` (which was the only NonUse operand case we had so far) instead of OperandOwnership::NonUse.
…d-in-opaque-result-type

ASTMangler: Respect @_originallyDefinedIn in mangleOpaqueTypeDecl()
Introduce a new instruction `dealloc_stack_ref ` and remove the `stack` flag from `dealloc_ref`.

The `dealloc_ref [stack]` was confusing, because all it does is to mark the deallocation of the stack space for a stack promoted object.
Disable an autodiff test that's causing the linker on Ubuntu 20.04 to crash every so often

rdar://87254800
The `Qr` mangling is used to refer to the opaque type within the
declaration that produces the opaque type. When there are multiple
opaque types, e.g., due to structural or named opaque result types, it
does not specify which of the opaque type parameters it refers to.

Introduce a new mangling `QR INDEX` for opaque type parameters after
the first, retaining the `Qr` mangling for the first opaque type
parameter. This way, existing (non-structural) uses of opaque result
types retain the same manglings, but uses of structural or named
opaque result types (new features) will have distinct manglings.

Note that this mangling within a declaration is only used for the
declaration itself, and not for references to the opaque type of the
declaration, so there is no impact on the runtime demangler.
…stack

Rename `dealloc_ref [stack]` and enable StackPromotion for OSSA
…aque-types

Introduce a mangling for multiple opaque types within the declaration.
Always Import FieldDecls from Records
…jc-open-function-in-extension

[Diagnostics] Add diagnostic for non-objc functions declared as open inside extension
@pull pull bot merged commit 19f0e1d into swiftwasm Jan 8, 2022
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.

8 participants