Skip to content

[pull] swiftwasm from master #1567

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 34 commits into from
Aug 11, 2020
Merged

[pull] swiftwasm from master #1567

merged 34 commits into from
Aug 11, 2020

Conversation

pull[bot]
Copy link

@pull pull bot commented Aug 11, 2020

See Commits and Changes for more details.


Created by pull[bot]. Want to support this open source service? Please star it : )

bitjammer and others added 30 commits August 7, 2020 13:53
Hit this crash while walking an `import protocol ...` declaration.
Check loc validity before calling `SourceManager::extractText`:
there is an assertion at the beginning of this function.

rdar://65258208
@guaranteed args are treated conservatively in ARCSequenceOpts.
A function call with a @guaranteed arg is assumed to decrement refcount
of the @guaranteed arg. With this change, use
swift::mayDecrementRefCount which uses EscapeAnalysis to determine if we
need to transition conservatively at the instruction being visited.
…tring literals that matches a label of labeled tuples
Fix edgecase in AllocBoxToStack handling of local apply
…report-deleted-IDs

[Localization] Make the serialization tool print the removed diagnostics
The current "ClangRecordTypeInfo" derives from "LoadableTypeInfo" and is
only meant for loadable types. While we have not yet run into problems,
this may cause issues in the future and as more logic is needed around
copying, moving, and destroying C++ objects, this needs to be fixed.
…ng#33378)

We can't actually check for NaN (because the notion doesn't exist for Comparable), but we can require that the endpoint is non-exceptional by checking if it equals itself.
…inout-1

Revert "Sema: Make type resolution for EnumElementPattern less eager"
…8208-crash-invalid-loc-extracttext

[SymbolGraph] Check Loc validity before extracting text
…nly dependencies

In theory, we shouldn't need to deserialize @_implementationOnly dependencies. However,
potential decl recovery issues may bring down lldb if we insist on not importing these
dependencies, resulting in bad user experience as a result. This patch adds an internal
option to allow importing them and it should only be set by lldb and other tools.

rdar://65570721
validateCodingKeysEnum cannot iterate over a hashed collection without ordering guarantees.
This complexity is due to the implementation constraints of Codable synthesis at a time when the type checker could return partially-validated results. This is no longer the case, so all of this code is just technical debt.
The quad-state here is completely superfluous. Break it down into an enum class that encodes the relevant cases we care about and clean up its sole caller.
This more powerful primitive is capable of
1) Detecting invalid classes
2) Detecting invalid superclasses
3) Detecting circularity in inheritance hierarchies

The attached crasher demonstrates the reason we need to validate all of these predicates. Simply put, a circular class hierarchy is always going to report the superclass conforms to any protocol with a declaration in the source. Leveraging this, one could construct any circular class hierarchy, and a conformance to Codable would immediately crash because we got as far as trying to build a CodingKeys enum with an absolutely nonsensical structure.

This also has the added benefit of de-complecting an enormous amount of codable conformance code.

rdar://66588925
Serialization: add an option to allow deserializing @_implementationOnly dependencies
shahmishal and others added 4 commits August 10, 2020 17:22
…-siloptimizer

[Disable] SILOptimizer test (66807959)
This specific check has never worked on all processors (because
some FP HW mangles NaNs) and recent LLVM changes have broken
it on the remaining platforms.

Resolves SR-13354
…cript-tuple

[SR-13359] [Sema] Tailored diagnostics for missing subscript members on tuple type base
@MaxDesiatov MaxDesiatov merged commit fa38512 into swiftwasm Aug 11, 2020
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.