Skip to content
Failed

Changes

Summary

  1. Properly disable testBuildCompleteMessage on Linux for SwiftBuild (#8444) (details)
Commit b175dd8036c38defd5776ac56c210b762b6d68b4 by github
Properly disable testBuildCompleteMessage on Linux for SwiftBuild (#8444)

The file was modified Tests/CommandsTests/BuildCommandTests.swift (diff)

Summary

  1. [Distributed] Harden detecting adhoc req methods, don't crash when missing protocol decls (details)
  2. Type substitution eliminates dependencies with Escapable targets. (details)
Commit 6ca5ace32de4451f36d6888a4a1a65422b40c3a2 by ktoso
[Distributed] Harden detecting adhoc req methods, don't crash when missing protocol decls

This issue manifested in crashing when in Xcode one would do the Archive
workflow, and we would be missing the Distributed module types and
proceed to run into a nullpointer when faced with code like this:

```
public class TestViewModel {
    public init() {}

    public func onReturn() {
        print("on return executed!")
    }
}
```

where the name matched one of the ad hoc requirements, but we'd get null
for the protocol lookup since this does not import the distributed
module.

resolves rdar://148327936
The file was modified lib/AST/DistributedDecl.cpp (diff)
The file was addedtest/Distributed/distributed_actor_adhoc_names_in_non_da_types.swift
Commit 6b605f41cbed09a0549297b5981f9a398f35e8bf by jgroff
Type substitution eliminates dependencies with Escapable targets.

When a generic function has potentially Escapable outputs, those outputs
declare lifetime dependencies, which have no effect when substitution
leads to those types becoming `Escapable` in a concrete context.
This means that type substitution should canonically eliminate lifetime
dependencies targeting Escapable parameters or returns, and that
type checking should allow a function value with potentially-Escapable
lifetime dependencies to bind to a function type without those dependencies
when the target of the dependencies is Escapable.

Fixes rdar://147533059.
The file was modified lib/SILGen/SILGenApply.cpp (diff)
The file was addedtest/Sema/escapable_substitution_lifetime_dependency.swift
The file was modified include/swift/SIL/AbstractionPattern.h (diff)
The file was modified lib/SIL/IR/SILTypeSubstitution.cpp (diff)
The file was modified include/swift/AST/Types.h (diff)
The file was modified lib/SIL/IR/SILFunctionType.cpp (diff)
The file was modified include/swift/AST/LifetimeDependence.h (diff)
The file was modified test/SILOptimizer/lifetime_dependence/lifetime_dependence_diagnostics.swift (diff)
The file was modified lib/Sema/CSSimplify.cpp (diff)
The file was modified include/swift/AST/TypeTransform.h (diff)
The file was modified lib/AST/LifetimeDependence.cpp (diff)
The file was modified lib/Sema/TypeCheckDecl.cpp (diff)
The file was modified test/SILGen/addressable_for_dependencies.swift (diff)
The file was modified test/Sema/lifetime_dependence_functype.swift (diff)
The file was modified lib/AST/ConformanceLookup.cpp (diff)
The file was modified lib/SIL/IR/AbstractionPattern.cpp (diff)

Summary

  1. [lldb] Sink timer into the initialization path (details)
  2. [lldb][NFC] Reduce scope of Swift customizations (details)
  3. [lldb][NFC] Reduce scope of Swift customizations - pt 2 (details)
  4. [AArch64][FastISel] Fallback on atomic stlr/cas with non-reg operands. (details)
  5. [lldb] Another tweak to TestSwiftActorUnprioritisedJobs (details)
  6. [clang][DepScan] Allow ModuleDep to be const (#132968) (details)
  7. [libclang] Add C interface for querying against ModuleDeps (details)
  8. [lldb] Add summary formatter for DefaultActorStorage (#10388) (details)
  9. [lldb] Fix tagged-pointer info address parsing (#134123) (#10409) (details)
Commit a32c7c972140cc4575128cfeb29ff242c8ffd3f8 by aprantl
[lldb] Sink timer into the initialization path
The file was modified lldb/source/Plugins/LanguageRuntime/Swift/SwiftLanguageRuntime.cpp (diff)
Commit 0b5e136f2f29fb36ddedee1931f0eaab7e39f4a9 by fpiovezan
[lldb][NFC] Reduce scope of Swift customizations

The code in Process::HandleProcessStateChangedEvent is pretty
complicated, and a lot of Swift customizations were added on top of it
to support the repl. This commit reduces the area of those
customizations by moving them into a separate function; in particular,
the code computing whether to "check for a repl breakpoint" was factored
out.

The main motivation is that we would like to make some changes in
HandleProcessStateChangedEvent, which would run into nasty merge
conflicts otherwise.
The file was modified lldb/source/Target/Process.cpp (diff)
Commit 2af45d370ff08d16024ccff0b81983447a80fa39 by fpiovezan
[lldb][NFC] Reduce scope of Swift customizations - pt 2

This commit builds on the previous one, this time reducing the scope of
customizations checking whether the selected thread stopped at a REPL
breakpoint.
The file was modified lldb/source/Target/Process.cpp (diff)
Commit 1ad4595bf0a67f4a1460aca6b20a72c02ba7c4b8 by ahmed
[AArch64][FastISel] Fallback on atomic stlr/cas with non-reg operands.

This has been a latent bug for almost 10 years, but is relatively
hard to trigger, needing an address operand that isn't handled
by getRegForValue (in the test here, constexpr casts).
When that happens, it returns 0, which FastISel happily uses
as a register operand, all the way to asm, where we either get
a crash on an invalid register, or a silently corrupt instruction.

Unfortunately, FastISel is still enabled at -O0 for at least
ILP32/arm64_32.

rdar://148349143
The file was modified llvm/lib/Target/AArch64/AArch64FastISel.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/fast-isel-atomic-fallback.ll
Commit 15ee3710c17ab8afa65f58b4617d27955c98b18a by davelee.com
[lldb] Another tweak to TestSwiftActorUnprioritisedJobs

A new failure mode:

```
self.assertEqual(unprioritised_jobs.num_children, 3)
AssertionError: 2 != 3
```

rdar://148377173
The file was modified lldb/test/API/lang/swift/async/actors/unprioritised_jobs/TestSwiftActorUnprioritisedJobs.py (diff)
Commit 5278f1bb64809a39d60cd012284b03f5cdd9d5c5 by cyndyishida
[clang][DepScan] Allow ModuleDep to be const (#132968)

This type can be exposed from C APIs, where instantiations of this type
are not expected to mutate after creation. To support this, mark the
lazy computation of build arguments mutable, as that is not intended to
otherwise mutate the state of these objects.

This was reviewed separately by @jansvoboda11

(cherry picked from commit 9aecbdf8ed787a8edd1b7f97a1c7fbf6e9d12515)
The file was modified clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp (diff)
The file was modified clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h (diff)
Commit 73856a5c9f970706a83cbd2aa74548966d48a810 by cyndyishida
[libclang] Add C interface for querying against ModuleDeps

Previously the callback used for getting the output path of pcm's took
in the ModuleID, which represents the name & context hash. Now that
there are more attributes to determine the output path, like the
attribute `isInStableDirectories`. To support this case,
allow clients to override the signature of the callback to pass along a reference to the whole
`ModuleDep` object instead.

Additionally, this patch:

* Makes calls that unwrap `CXDepGraphModule` const correct.
* Provides an API to query whether a module comes from
  stable directories.

(cherry picked from commit fa17ed7fb43d99c02165b326f4d2907ad19038ae)
The file was addedclang/test/ClangScanDeps/stable-dirs-c-api.c
The file was modified clang/tools/libclang/CDependencies.cpp (diff)
The file was modified clang/include/clang-c/Dependencies.h (diff)
The file was modified clang/tools/libclang/libclang.map (diff)
The file was modified clang/tools/c-index-test/core_main.cpp (diff)
Commit b7248c725552d563a6e8fbd9ec4add7e0469a5ce by github
[lldb] Add summary formatter for DefaultActorStorage (#10388)

Show the actor's state (idle, scheduled, running, or zombie) as its summary.

The file was modified lldb/source/Plugins/Language/Swift/SwiftFormatters.h (diff)
The file was modified lldb/test/API/lang/swift/async/actors/unprioritised_jobs/TestSwiftActorUnprioritisedJobs.py (diff)
The file was modified lldb/source/Plugins/Language/Swift/SwiftFormatters.cpp (diff)
The file was modified lldb/source/Plugins/Language/Swift/SwiftLanguage.cpp (diff)
Commit 3f3fde0d5f857091712c28ac39f6ddec6cde7c35 by github
[lldb] Fix tagged-pointer info address parsing (#134123) (#10409)

Change `objc tagged-pointer info` to call
`OptionArgParser::ToRawAddress`.

Previously `ToAddress` was used, but it calls `FixCodeAddress`, which
can erroneously mutate the bits of a tagged pointer.

(cherry picked from commit 93d3775da8810e1542873b1cdcec2ea142704561)

The file was modified lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py (diff)
The file was modified lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp (diff)