forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
Merge main 2020-10-12 #1990
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
Merge main 2020-10-12 #1990
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
Introduce availability macros defined by a frontend flag. This feature makes it possible to set the availability versions at the moment of compilation instead of having it hard coded in the sources. It can be used by projects with a need to change the availability depending on the compilation context while using the same sources. The availability macro is defined with the `-define-availability` flag: swift MyLib.swift -define-availability "_iOS8Aligned:macOS 10.10, iOS 8.0" .. The macro can be used in code instead of a platform name and version: @available(_iOS8Aligned, *) public func foo() {} rdar://problem/65612624
Availability macros can’t be used in inlinable code as inlinable is copied textually in the generated swiftinterface files. Further would could lift this limitation.
…tion from a target without running the target. The routine already supports dumping the assembly to file if we are at a breakpoint using the current frame. This adds a -n option so one can without running just dump the assembly to a file of a specific function in a binary.
…on existential base
on local variables.
The driver will eventually use this to compute the input status of a merge-modules job.
Plumb the logic necessary to schedule merge-modules incrementally. This means that if any inputs jobs to merge-modules run, merge-modules is run. But, if they are all skipped, merge-modules will be skipped as well. This requires some light special-casing of the legacy driver's incremental job handling because it assumes in a few places it can always extract a swiftdeps file. This invariant will be further broken when the precompile step for bridging headers is skipped as well. rdar://65893400
Instead, let's rely on the existing source range assertions. They will fire if we add two nodes with overlapping or equal source ranges.
…parse-labeled-params [Concurrency] Fix parsing bug async function types and labeled parameters
[Sema] Correct lvalue computation in `buildStorageRef` for synthesizing local accessors.
[Sema] Define availability specification macros with a frontend flag
…swift-driver build This is required in order to build swift-driver using CMake on Linux
Report unavailable overrides as a warning to avoid breaking sources.
…12dd582f8fad1c619207575 When converting load [copy] -> load_borrow, do not insert end_borrow if the block insert point is a dead end block.
Moves the declaration of SILParserTUState into a new private header file: SILParserState.h
…er-state-header
RCIdentityAnalysis: some refactoring to improve clarity.
…ation It has been related with `inferBindingsFor` but declaration was left in the header.
…not be pointers. Even values of trivial type can contain a Builtin.RawPointer, which can be used to read/write from/to. To compensate for the removed check, enable the escape-analysis check in MemBehavior (as it was before). This fixes a recently introduced miscompile. rdar://problem/70220876
…actor AST: Refactor SelfReferenceKind in preparation for swiftlang#33767
…lysis SideEffectAnalysis: don't assume that arguments with trivial type can not be pointers.
…ze_exported Preliminary support for `_specialize(exported: true, ...)`
[Sema] Fix availability checking in inlinable code
Converts one more doc file from `.rst` to Markdown for consistency.
…da4a2673fee297132b16b8d [lldb-toolbox] Add the ability to disassemble-to-file a specific function from a target without running the target.
…ng scan-deps result When building a set of command-line options required to build a Clang module, also add `NonPathCommandLine` from Clang's `ModuleDeps`. These flags are mandatory in order to build modules discovered by the scanner. Resolves rdar://70212660
This reverts commit c311e45.
…text-finder-for-fallback-completion [CodeCompletion] Reuse CompletionContextFinder for fallback completion when no typeCheckExpression call is made
The code here used to use the location of the nearest place to insert attributes, which makes no sense. Use the pattern binding's location instead to ensure that we actually replace the 'let' part of the pattern every time. rdar://69971194
In order to unblock the SwiftWASM project, which relies on an incremental build of the Swift driver that relies on the merge-modules job always being run. The situation appears to be something like this: 1) An incremental build is run 2) Temporary swiftmodule outputs are laid down 3) merge-modules is skipped 4) modulewrap is run anyways and reads the empty temp file We should fix this by skipping modulewrap if we can skip merge-modules. But for now, be conservative and fall back to the status quo behavior of always running merge-modules whenever we encounter a modulewrap job.
Revert "Implements SR-11580"
…currentreadablehashmap [Runtime] Change SimpleGlobalCache to use ConcurrentReadableHashMap instead of ConcurrentMap.
[Dependency Scanner] Always add NonPathCommandLine arguments from Clang scan-deps result
…ings-from-cs [ConstraintSystem] NFC: Remove obsolete `getPotentialBindings` declar…
Schedule merge-modules When modulewrap Job is in the Queue
MaxDesiatov
approved these changes
Oct 14, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lovely!
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.
No description provided.