Skip to content

[pull] swiftwasm from apple:master#48

Closed
pull[bot] wants to merge 33 commits into
kateinoigakukun:swiftwasmfrom
swiftlang:master
Closed

[pull] swiftwasm from apple:master#48
pull[bot] wants to merge 33 commits into
kateinoigakukun:swiftwasmfrom
swiftlang:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jan 28, 2020

See Commits and Changes for more details.


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

nkcsgexi and others added 13 commits January 27, 2020 15:29
…edIn is active

This ensures we could emit linker directives for multiple platforms when building
zippered libraries.
… be a hole

If type variable is allowed to be a hole and it can't be bound to
this particular (full resolved) type, just ignore this binding
instead of re-trying it later.
…ying arguments

If a type variable representing "function type" is a hole
or it could be bound to some concrete type with a help of
a fix, let's propagate holes to the "input" type. Doing so
provides more information to upcoming argument and result matching.
converts an integer to a string. This patch adds a @_semantics
annotation to the BinaryInteger.description function.
This should repair the Windows build after #29451.  The quoting
behaviour was incorrect and was constructing an invalid compiler
invocation.  Solve the issue by using `target_include_directories`
instead.  However, since this needs the target, hoist the flag
computation to the local sites.  This replicates more logic because of
the custom build trying to replicate the CMake build logic in CMake.
Before the result of `_add_variant_c_compile_flags` was a string, so appending several "-isystem" was not a problem. With #29451 the rules have changed since the list is now handled by CMake, and it deduplicates the repeated members in the list. Thanks, CMake.

Should fix the Android CI builds that were failing since the merging of #29451.
…expr

[Diagnostics] Don't re-typecheck function expression associated with various calls
…` with arguments

Expressions like `Void(...)` have a special locator which ends at
`FunctionArgument` instead of `ApplyArgument` which makes it possible
to type-check `Void()` call successfully. "extraneous arguments" diagnostic
needs to handle such situations specifically e.g. `Void(0)`.
…s-correctly

[android] Escape include paths in Android.
[Diagnostics] Add a special case diagnostic for call to init on `Void…
compnerd and others added 15 commits January 28, 2020 09:22
This function is only used in SwiftSource.cmake.  Locate the function
there to make it easier to find.
Collate -F with the framework path to avoid unwanted deduplication of options by `target_compile_options` (which is the case after #29451) -- this way no undesired side effects are introduced should a new search path be added.

Addresses rdar://problem/58934566
TBDGen: also using target variant to decide whether @_originallyDefinedIn is active
…-description

[Constant Evaluator] Add support for BinaryInteger.description which converts an integer to a string
build: move `compute_library_subdir` to where it is used
…pe_lowering

SILGen: Lower the type of the return value merge phi in the context of the current function
[GSB] Map invalid subject types in requirement constraints to ErrorType
To guard against the kind of complex failures seen in rdar://58690068,
improve this regression test with a copy of a shrunken version of
CocoaError.Code.

In that radar, CocoaError.Code was defined in one overlay and extended
in another translation unit.  When deserialization encountered this, it
failed to search the overlay's nested type tables and fell through to
re-enter lookupDirect.
This option configures the build directories without building any
targets. Splitting configuration from build allows for the decoupling
of build products. This decoupling is essential for the enlightened
way of developing Swift where the build-script is never actually used
to build anything, and build products can be independently
configured. When fully supported, this avoids many unnecessary
full/clean rebuilds and enables debugging by mixing-and-matching
configurations and rebuilding only select products after a change.

Sadly, the option has degraded, and a recent commit rendered it fully broken:

  commit 34848e6
  Author: Alex Langford <apl@fb.com>
  Date:   Wed Jan 22 19:27:44 2020

    [build] Unify logic to skip building projects in build-script-impl

The breaking commit was itself a reasonable cleanup. The underlying
problem was the original --skip-build was implemented using hacks that
conflated configuration with build.

This fix reinstates a reasonable situation:

--skip-build has no effect on configuration, as documented. It merely
  skips building the targets. This is how it must behave to work as
  intended.

--skip-build-{product} and its inverse --build-{product} controls
  which products will be configured. These options are in heavy use
  throughout the scripts, so changing the name (e.g. to --skip-config)
  would be disruptive and of questionable benefit.

None of this changes the fact that any required build logic that
people have dumped into build-script-impl still effectively breaks the
enlightened way of building Swift, particularly when building
toolchain components.
…d types

where the base does not conform to the associated type's protocol.

We can only reach this case when the solver has already applied a fix for
the conformance failure.
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
failure messages and fatalError messages, when such errors happen
during constant evaluation.
[ConstraintSystem] Allow solving same-type requirements for associated types...
medismailben and others added 5 commits January 29, 2020 01:08
Move swift runtime failure messages from linkage name to function name
Fix the build-script --skip-build option.
…upport

[Constant Evaluator] Add support for displaying assertion/precondition failure messages and fatalError messages
* [WebAssembly] Add no-op MutexWASI.h implementation

* Update wording of header comment in MutexWASI.h
* [WebAssembly] enable shims and stubs for WASI

* Implement _swift_stdlib_getUnsafeArgvArgc for WASI

* Make include unconditional, add JIRA links
kateinoigakukun pushed a commit that referenced this pull request May 7, 2025
We missed to sign the handler. Along the way the signature of it
changed, so adjust for that.

How to get the number:

```
func PROPER(bar: (TaskPriority, TaskPriority) -> Void) {
    let p = TaskPriority.default
    bar(p, p)
}
```

```
-> % swiftc -target arm64e-apple-macos13 example.swift -S -o - | swift demangle | grep -a3 autda
	stur	x8, [x29, #-64]
	mov	x17, x8
	movk	x17, swiftlang#11839, lsl #48 <<<<<<<<<
	autda	x16, x17
	ldr	x8, [x16, swiftlang#64]
	lsr	x8, x8, #0
	add	x8, x8, #15
```

Resolves rdar://150378890
kateinoigakukun pushed a commit that referenced this pull request Jul 16, 2025
We missed to sign the handler. Along the way the signature of it
changed, so adjust for that.

How to get the number:

```
func PROPER(bar: (TaskPriority, TaskPriority) -> Void) {
    let p = TaskPriority.default
    bar(p, p)
}
```

```
-> % swiftc -target arm64e-apple-macos13 example.swift -S -o - | swift demangle | grep -a3 autda
	stur	x8, [x29, #-64]
	mov	x17, x8
	movk	x17, swiftlang#11839, lsl #48 <<<<<<<<<
	autda	x16, x17
	ldr	x8, [x16, swiftlang#64]
	lsr	x8, x8, #0
	add	x8, x8, #15
```

Resolves rdar://150378890
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.