Skip to content

Commit b51213f

Browse files
authored
Merge branch 'release/6.1' into pick-mpokhylets-isolated-deinit-version
2 parents 0046c75 + 91c6425 commit b51213f

File tree

124 files changed

+2600
-459
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+2600
-459
lines changed

include/swift/AST/DiagnosticsFrontend.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ REMARK(output_cache_miss, none, "cache miss for input file '%0': key '%1'", (Str
511511

512512
// CAS related diagnostics
513513
ERROR(error_cas, none, "CAS error encountered: %0", (StringRef))
514+
WARNING(cache_replay_failed, none, "cache replay failed: %0", (StringRef))
514515

515516
ERROR(error_failed_cached_diag, none, "failed to serialize cached diagnostics: %0", (StringRef))
516517
ERROR(error_replay_cached_diag, none, "failed to replay cached diagnostics: %0", (StringRef))

include/swift/AST/DiagnosticsSema.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2789,6 +2789,9 @@ ERROR(types_not_inherited_decl,none,
27892789
ERROR(types_not_inherited_in_decl_ref,none,
27902790
"referencing %kind0 on %1 requires that %2 inherit from %3",
27912791
(const ValueDecl *, Type, Type, Type))
2792+
ERROR(cannot_reference_conditional_member_on_base_multiple_mismatches,none,
2793+
"cannot reference %kind0 on %1",
2794+
(const ValueDecl *, Type))
27922795
NOTE(where_requirement_failure_one_subst,none,
27932796
"where %0 = %1", (Type, Type))
27942797
NOTE(where_requirement_failure_both_subst,none,

include/swift/AST/Expr.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3615,6 +3615,24 @@ class ActorIsolationErasureExpr : public ImplicitConversionExpr {
36153615
}
36163616
};
36173617

3618+
/// UnsafeCastExpr - A special kind of conversion that performs an unsafe
3619+
/// bitcast from one type to the other.
3620+
///
3621+
/// Note that this is an unsafe operation and type-checker is allowed to
3622+
/// use this only in a limited number of cases like: `any Sendable` -> `Any`
3623+
/// conversions in some positions, covariant conversions of function and
3624+
/// function result types.
3625+
class UnsafeCastExpr : public ImplicitConversionExpr {
3626+
public:
3627+
UnsafeCastExpr(Expr *subExpr, Type type)
3628+
: ImplicitConversionExpr(ExprKind::UnsafeCast, subExpr, type) {
3629+
}
3630+
3631+
static bool classof(const Expr *E) {
3632+
return E->getKind() == ExprKind::UnsafeCast;
3633+
}
3634+
};
3635+
36183636
/// Extracts the isolation of a dynamically isolated function value.
36193637
class ExtractFunctionIsolationExpr : public Expr {
36203638
/// The function value expression from which to extract the

include/swift/AST/ExprNodes.def

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,8 @@ ABSTRACT_EXPR(ImplicitConversion, Expr)
191191
EXPR(LinearFunctionExtractOriginal, ImplicitConversionExpr)
192192
EXPR(LinearToDifferentiableFunction, ImplicitConversionExpr)
193193
EXPR(ActorIsolationErasure, ImplicitConversionExpr)
194-
EXPR_RANGE(ImplicitConversion, Load, ActorIsolationErasure)
194+
EXPR(UnsafeCast, ImplicitConversionExpr)
195+
EXPR_RANGE(ImplicitConversion, Load, UnsafeCast)
195196
ABSTRACT_EXPR(ExplicitCast, Expr)
196197
ABSTRACT_EXPR(CheckedCast, ExplicitCastExpr)
197198
EXPR(ForcedCheckedCast, CheckedCastExpr)

include/swift/AST/IRGenOptions.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ class IRGenOptions {
306306

307307
/// Whether we're generating IR for the JIT.
308308
unsigned UseJIT : 1;
309-
309+
310310
/// Whether we should run LLVM optimizations after IRGen.
311311
unsigned DisableLLVMOptzns : 1;
312312

@@ -377,7 +377,7 @@ class IRGenOptions {
377377
/// Force public linkage for private symbols. Used only by the LLDB
378378
/// expression evaluator.
379379
unsigned ForcePublicLinkage : 1;
380-
380+
381381
/// Force lazy initialization of class metadata
382382
/// Used on Windows to avoid cross-module references.
383383
unsigned LazyInitializeClassMetadata : 1;
@@ -439,7 +439,7 @@ class IRGenOptions {
439439
/// Whether to disable shadow copies for local variables on the stack. This is
440440
/// only used for testing.
441441
unsigned DisableDebuggerShadowCopies : 1;
442-
442+
443443
/// Whether to disable using mangled names for accessing concrete type metadata.
444444
unsigned DisableConcreteTypeMetadataMangledNameAccessors : 1;
445445

@@ -524,7 +524,7 @@ class IRGenOptions {
524524
};
525525

526526
TypeInfoDumpFilter TypeInfoFilter;
527-
527+
528528
/// Pull in runtime compatibility shim libraries by autolinking.
529529
std::optional<llvm::VersionTuple> AutolinkRuntimeCompatibilityLibraryVersion;
530530
std::optional<llvm::VersionTuple>
@@ -543,13 +543,13 @@ class IRGenOptions {
543543
llvm::CallingConv::ID PlatformCCallingConvention;
544544

545545
/// Use CAS based object format as the output.
546-
bool UseCASBackend;
546+
bool UseCASBackend = false;
547547

548548
/// The output mode for the CAS Backend.
549549
llvm::CASBackendMode CASObjMode;
550550

551551
/// Emit a .casid file next to the object file if CAS Backend is used.
552-
bool EmitCASIDFile;
552+
bool EmitCASIDFile = false;
553553

554554
IRGenOptions()
555555
: OutputKind(IRGenOutputKind::LLVMAssemblyAfterOptimization),

include/swift/AST/Types.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,9 @@ class alignas(1 << TypeAlignInBits) TypeBase
674674
/// Is this an existential containing only marker protocols?
675675
bool isMarkerExistential();
676676

677+
/// Is this `any Sendable` type?
678+
bool isSendableExistential();
679+
677680
bool isPlaceholder();
678681

679682
/// Returns true if this contextual type does not satisfy a conformance to

include/swift/Basic/BlockListAction.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ BLOCKLIST_ACTION(ShouldUseBinaryModule)
2323
BLOCKLIST_ACTION(ShouldUseTextualModule)
2424
BLOCKLIST_ACTION(DowngradeInterfaceVerificationFailure)
2525
BLOCKLIST_ACTION(ShouldUseLayoutStringValueWitnesses)
26+
BLOCKLIST_ACTION(SkipEmittingFineModuleTrace)
2627

2728
#undef BLOCKLIST_ACTION

include/swift/Basic/FileTypes.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ TYPE("swiftoverlay", SwiftOverlayFile, "swiftoverlay", "")
9898

9999
// Misc types
100100
TYPE("pcm", ClangModuleFile, "pcm", "")
101+
TYPE("symbol-graph", SymbolGraphFile, "symbols.json", "")
101102
TYPE("pch", PCH, "pch", "")
102103
TYPE("none", Nothing, "", "")
103104

include/swift/Frontend/CASOutputBackends.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class SwiftCASOutputBackend : public llvm::vfs::OutputBackend {
4646
llvm::cas::ActionCache &Cache,
4747
llvm::cas::ObjectRef BaseKey,
4848
const FrontendInputsAndOutputs &InputsAndOutputs,
49+
const FrontendOptions &Opts,
4950
FrontendOptions::ActionType Action);
5051
~SwiftCASOutputBackend();
5152

include/swift/Frontend/CachingUtils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ createSwiftCachingOutputBackend(
3636
llvm::cas::ObjectStore &CAS, llvm::cas::ActionCache &Cache,
3737
llvm::cas::ObjectRef BaseKey,
3838
const FrontendInputsAndOutputs &InputsAndOutputs,
39-
FrontendOptions::ActionType Action);
39+
const FrontendOptions &Opts, FrontendOptions::ActionType Action);
4040

4141
/// Replay the output of the compilation from cache.
4242
/// Return true if outputs are replayed, false otherwise.

0 commit comments

Comments
 (0)