Skip to content

[pull] swiftwasm from main #3904

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 179 commits into from
Dec 2, 2021
Merged

[pull] swiftwasm from main #3904

merged 179 commits into from
Dec 2, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Nov 29, 2021

See Commits and Changes for more details.


Created by pull[bot]

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

hborla and others added 30 commits July 22, 2021 19:15
This was causing linker failures when building on Darwin with `sourcekit-inproc` in the Swift install components.

rdar://85351452
With the Python 3 changes to the repo, the linter now needs to be called
with python3 explicitly, so that there are no syntax errors.
…TS chunks

Tested by existing test case test/IRGen/huge_c_type.swift.

rdar://85486470
Fix isScopeAffectingInstructionDead to use this new API. A stdlib
assert, which has "program_termination" semantics, should not be
considered read-only.

isReadOnlyConstantEvaluableCall API:

/// Return true iff the \p applySite is constant-evaluable and read-only.
///
/// Functions annotated as "constant_evaluable" are assumed to be "side-effect
/// free", unless their signature and substitution map indicates otherwise. A
/// constant_evaluable function call is read only unless it:
///   (1) has generic parameters
///   (2) has inout parameters
///   (3) has indirect results
///
/// Read-only constant evaluable functions can do only the following and
/// nothing else:
///   (1) The call may read any memory location.
///   (2) The call may destroy owned parameters i.e., consume them.
///   (3) The call may write into memory locations newly created by the call.
///   (4) The call may use assertions, which traps at runtime on failure.
///   (5) The call may return a non-generic value.
///
/// Essentially, these are calls whose "effect" is visible only in their return
/// value or through the parameters that are destroyed. The return value
/// is also guaranteed to have value semantics as it is non-generic and
/// reference semantics is not constant evaluable.
Before isReadOnlyConstantEvaluableCall is fixed to recognize that
[_semantics "programtermination_point"] is not a read-only function,
this test will fail as soon as SILCombine is fixed to recognize all
dead code (e.g. by using the InstructionDeleter API).
split-file now uses `--no-leading-lines` as the default for
`split-file`. Add the new arg so that we have leading lines again.
When you prefix the request JSON with 'time', it will display the time
taken for the request. e.g.

  (SourceKit) time { key.request: source.request.compiler_version }
  request time: 0.177 ms
  {
    key.version_major: 5,
    key.version_minor: 6,
    key.version_patch: 0
  }
  (SourceKit)
With the argument list refactoring, it's no
longer sufficient to stop walking when we encounter
an explicit tuple or paren. Add an additional
check to stop walking when we encounter an explicit
argument list.

rdar://85343171
The 32-bit identifier in Job is locked down at this point, so we expand the ID by storing the top 32 bits separately inside AsyncTask::PrivateStorage.

rdar://85167409
This is a verbatim copy of the GenericSignatureBuilder's somewhat
questionable (but necessary for source compatibility) logic where
protocol typealiases with the same name as some other associated
type imply a same-type requirement.

The related diagnostics are there too, but only emitted when
-requirement-machine-protocol-signatures=on; in 'verify' mode,
the GSB will emit the same diagnostics.
MaxDesiatov
MaxDesiatov previously approved these changes Dec 1, 2021
rxwei and others added 10 commits December 1, 2021 10:25
Update python_lint shebang to 'python3'
We noticed some Swift clients rely on the serialized search paths in the module to
find dependencies and droping these paths altogether can lead to build failures like
rdar://85840921.

This change teaches the serialization to obfuscate the search paths and the deserialization
to recover them. This allows clients to keep accessing these paths without exposing
them when shipping the module to other users.
…red-properties-crash

[Clang importer] Don't insert members found via lookup into the wrong context
…kout-error

[update-checkout] Decode stderr from failed update command
…ationtoken-to-exports

[SourceKit] Add `sourcekitd::disposeCancellationToken` to Darwin exports
…f-not-requested

[SourceKit] Don't build an AST if no semantic info is requested
MaxDesiatov
MaxDesiatov previously approved these changes Dec 1, 2021
…sting

[build-script] Add a LLDB PR testing preset
MaxDesiatov
MaxDesiatov previously approved these changes Dec 2, 2021
rxwei and others added 4 commits December 1, 2021 20:40
…processing

[update-checkout] Clone experimental string processing package
…sendable

Align unavailable Sendable diagnostics with the proposal for staging Sendable
MaxDesiatov
MaxDesiatov previously approved these changes Dec 2, 2021
@MaxDesiatov MaxDesiatov merged commit bc0604a into swiftwasm Dec 2, 2021
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.