Skip to content

Conversation

kateinoigakukun
Copy link
Member

No description provided.

varungandhi-apple and others added 30 commits September 9, 2020 13:42
Also changed the grep example to use long flag names for clarity.
…Nan' instead (swiftlang#33860)

* [AST] Add 'FloatingPoint' known protocol kind

* [Sema] Emit a diagnostic for comparisons with '.nan' instead of using '.isNan'

* [Sema] Update '.nan' comparison diagnostic wording

* [Sema] Explicitly check for either arguments to be '.nan' and tweak a comment

* [Test] Tweak some comments

* [Diagnostic] Change 'isNan' to 'isNaN'

* [Sema] Fix a bug where firstArg was checked twice for FloatingPoint conformance and update some comments

* [Test] Fix comments in test file

* [NFC] Add a new 'isStandardComparisonOperator' method to 'Identifier' and use it in ConstraintSystem

* [NFC] Reuse argument decl extraction code and switch over to the new 'isStandardComparisonOperator' method

* [NFC] Update conformsToKnownProtocol to accept DeclContext and use it to check for FloatingPoint conformance
ModuleInterface: avoid verifying textual interfaces without -enable-library-evolution
…-terminate-on-fix-point

Stop ReplaceOpaqueTypesWithUnderlyingTypes recursion if it hits a fixpoint.
`test/AutoDiff/validation-test/optional-property.swift` uses
`-Xllvm -debug-only=differentiation`, which requires assertions enabled.
In swiftlang#31686 changes were introduced to ensure that capacity was stored in
the ManagedBuffer allocation, and @lorentey sugested that as a stopgap
measure for addressing the lack of platform malloc introspection on
OpenBSD, we use Swift availability attributes instead on the relevant
parts of ManagedBuffer and friends.

Since platform availability symbols must be specifically set up to be
used, this commit does so in advance of the above change.
On OpenBSD, malloc introspection (e.g., malloc_usable_size or
malloc_size) is not provided by the platform allocator. Since allocator
introspection is currently a load-bearing piece of functionality for
ManagedBuffer and ManagedBufferPointer, pending any API changes, as a
stopgap measure, this commit marks methods in ManagedBuffer and
ManagedBufferPointer calling _swift_stdlib_malloc_size and methods
dependent thereon unavailable on OpenBSD.

This may induce some compatibility issues for some files, but at least
this change ensures that we can get stdlib to build on this platform
until the evolution process addresses this problem more thoroughly.
- `specilalizations` -> `specializations`
- Mark a setter method as `mutating`.
…tion

Various copy* methods were re-implemented in a bunch of files, move them
to CodeCompletion.h so they can be re-used everywhere that needs them.
[CodeCompletion] Update member completion to handle ambiguous and invalid base expressions
[Serialization] Remove documentation for the extInfo parameter
caches: add a cache for building just the runtime on Windows
Introduce the "actor class" syntax. Ensure that it is only used for
root classes or classes that inherit from other actor classes.
…tlang#33728)

Splits the large `forward_mode.swift` test file into 3 files:

- `forward_mode_simple.swift`
- `forward_mode_array.swift`
- `forward_mode_simd.swift`

This significantly speeds up testing time when tests are run in parallel.
This header and .lib features useful APIs such as [SHFileOperation](https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationw), which seems to be the preferred way to manipulate file systems for certain things.
[stdlib] Add another fast path for generic floating-point conversion
…gh-warning

Add missing SWIFT_FALLTHROUGH to the tryCastToString
…outMallocSize

[stdlib] ManagedBuffer independent of malloc_size.
…_protocol

Added protocol to support CVarArg objects that need to be retained
gottesmm and others added 27 commits September 17, 2020 19:53
…2304ea73034fe9ff542c9d4

[semantic-arc] Fix an initialization thinko.
…-closure-representation

ASTScope: Simplify representation of closures
This fixes unit test `stdlib/PrintFloat.swift.gyb` on OpenBSD.
…5710c5ddb5d7859625d8c4d

[ownership] Add a frontend option to stop optimizing right before we lower ownership.
…conformance

[Concurrency] Actor-isolated members cannot satisfy protocol requirements
…Expr

We'll need this to get the right 'selfDC' when name lookup
finds a 'self' declaration in a capture list, eg

class C {
  func bar() {}
  func foo() {
    _ = { [self] in bar() }
  }
}
…ut parse-time lookup

The DeclRefExpr here was resolved by parse-time lookup.
Without it, it's an UnresolvedDeclRefExpr.
This centralizes some invariants around the 'self' parameter.
While all ConstructorDecls and DestructorDecls have a 'self',
even if they're invalid because they're not nested inside a type,
we don't want to consider this as the base 'self' for lookups.

Eg, consider this invalid code:

class C {
  func f() {
    init() {
      x
    }
  }
}

The base for the lookup should be f.self, not f.init.self.
…fiedLookup

Instead of having ASTScope compute 'selfDC', the lookup
consumer can compute it on its own, by looking for
bindings named 'self'.
…o-driver

[LTO] Support LLVM LTO for driver
Specify Float80 as supported on OpenBSD.
I had this originally before landing swiftlang#33984, but it got merged while rebasing
into the wrong patch by mistake. Upstreaming ti now as a result.
Rework the data structures we use in the conformance checker to talk
about missing witnesses, so they can capture the set of potential
matches. This will allow us to delay more diagnostics to later,
more uniformly.
Update GYB Files for SwiftSyntax Double and Int Convenience Properties
…r-missing-witnesses

[Conformance checker] Capture potential matches for missing witnesses.
…cleanup

ASTScope: Redo 'selfDC' computation
Drop a dead parameter, encapsulate input type canonicalization, and slightly improve the doc comment.
swiftlang#33776)

During protocol witness matching for a protocol requirement with
`@differentiable` attributes, implicit `@differentiable` attributes may be
created for the witness under specific conditions (when the witness has a
`@differentiable` attribute with superset differentiability parameters, or
when the witness has less-than-public visibility).

Do not generate implicit `@differentiable` attributes for protocol witnesses
when the protocol conformance is declared from a separate file or type context
from the witness.

Resolves SR-13455.
…6cda79e0ad453ce40de03aa

[gardening] Add a test case for swiftlang#33984
…ened-archetype-signature

ASTContext: Tidy up the interface of getOpenedArchetypeSignature
Copy link

@MaxDesiatov MaxDesiatov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! 👍

@MaxDesiatov MaxDesiatov merged commit 18e61e4 into swiftwasm Sep 20, 2020
@kateinoigakukun kateinoigakukun deleted the katei/merge-master-2020-09-20 branch September 21, 2020 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.