Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
7f228b0
[ConstraintSystem] Compute # of defaultable bindings on demand
xedin Nov 11, 2020
4ed9794
[ConstraintSystem] Compute whether bindings are bound only by existen…
xedin Nov 11, 2020
6a7cc79
[ConstraintSystem] Determine whether type variable is a hole on demand
xedin Nov 11, 2020
7eb623d
[ConstraintSystem] Marking closure parameter as potentially incomplet…
xedin Nov 13, 2020
afa1198
[ConstraintSystem] Determine whether bindings are potentially incompl…
xedin Nov 13, 2020
257b7e6
Specify the unchecked_ownership_conversion instruction.
atrick Nov 14, 2020
976be60
Don't use report_fatal_error in the LoadBorrowImmutabilityChecker.
atrick Nov 14, 2020
3f553be
Handle unowned and unmanaged references.
adrian-prantl Nov 14, 2020
5329d92
Clarify a comment in MemAccessUtils.
atrick Nov 14, 2020
a60a3e7
Add executable swift test
aschwaighofer Nov 14, 2020
b1c94a6
Revert "Silence an assert"
aschwaighofer Nov 14, 2020
e7e6490
IRGen: swift_taskAlloc wants its size input to be multiple of Maximum…
aschwaighofer Nov 14, 2020
8574fe7
[build] Remove remaining dependencies on libatomic, for Android, BSD …
finagolfin Nov 9, 2020
79b7d5f
[Frontend] Disable skipping any function bodies for SwiftOnoneSupport
bnbarham Nov 16, 2020
069dfad
[Concurrency] Add Builtin.createAsyncTaskFuture.
DougGregor Nov 14, 2020
2a41920
[Concurrency] Implement basic runDetached on top of createAsyncTaskFu…
DougGregor Nov 16, 2020
b1448ed
[Testing] Add missing REQUIRES: concurrency
davezarzycki Nov 16, 2020
31f0c5a
Merge pull request #34760 from davezarzycki/pr34760
swift-ci Nov 16, 2020
4ec01a8
IRGen: Fix debug emission for dynamically sized stack vars
aschwaighofer Nov 16, 2020
d5d7f39
Fix test for windows/linux
aschwaighofer Nov 16, 2020
91b5c49
Allow a borrowed address to be passed as in_guaranteed arg in partia…
meg-gupta Nov 16, 2020
744767b
Fix SILVerifier assert for witness_method with dynamic self type (#34…
meg-gupta Nov 16, 2020
a0dccc5
Merge pull request #34762 from aschwaighofer/irgen_var_sized_alloca_a…
aschwaighofer Nov 16, 2020
f529072
Remove side-effects semantics from unchecked_ownership_converison.
atrick Nov 14, 2020
eba057f
[Async CC] Move thick context into async context.
nate-chandler Nov 16, 2020
8320b83
IRGen: Squash an unused variable warning
slavapestov Nov 14, 2020
2390b95
IRGen: Emit class stubs in more instances so that objc_copyClassList(…
slavapestov Nov 13, 2020
1a6f86b
Parse: Use InInactiveClauseEnvironment instead of looking at the Scope
slavapestov Oct 7, 2020
9dad3af
Merge pull request #34746 from aschwaighofer/reinstate_task_allocator…
aschwaighofer Nov 16, 2020
186d315
Update debug.swift
compnerd Nov 16, 2020
b7978b6
[Async CC] Don't add thick placeholder to args.
nate-chandler Nov 16, 2020
094ca80
Merge pull request #34737 from xedin/potential-bindings-refactor
xedin Nov 16, 2020
cd8029a
Merge pull request #34759 from DougGregor/concurrency-future-builtin
DougGregor Nov 16, 2020
fa54ff8
IRGen: Fix lowering of Builtin.createAsyncTask and Builtin.createAsyn…
aschwaighofer Nov 16, 2020
0a9a640
Parse: Create a trailing where clause even if it was incomplete
slavapestov Oct 8, 2020
74e72a6
swift-ide-test: Disable parser lookup
slavapestov Oct 8, 2020
e56af29
Merge pull request #34766 from slavapestov/emit-stub-for-concrete-sub…
slavapestov Nov 16, 2020
f855628
Merge pull request #34765 from nate-chandler/concurrency/irgen/thick-…
nate-chandler Nov 16, 2020
853d3b6
Merge pull request #34767 from apple/compnerd-concurrency
swift-ci Nov 16, 2020
a9c080e
Merge pull request #34768 from nate-chandler/concurrency/irgen/no-thi…
nate-chandler Nov 16, 2020
179fd34
Merge pull request #34758 from bnbarham/no-skip-for-swiftononesupport
bnbarham Nov 16, 2020
65bd39f
Merge pull request #34739 from slavapestov/swift-ide-test-parser-lookup
slavapestov Nov 17, 2020
f52029e
Merge pull request #34741 from adrian-prantl/68171364-reflection
adrian-prantl Nov 17, 2020
dafeb89
Merge pull request #34764 from aschwaighofer/fix_irge_builtins_create…
aschwaighofer Nov 17, 2020
9e4bdb6
More dynamic casting tests (#34732)
tbkka Nov 17, 2020
ec1f3d9
Disable an assert in LinearLifetimeChecker pending design changes.
atrick Nov 17, 2020
641a257
Sema: Don't diagnose forward references to debugger variables in pre-…
slavapestov Nov 17, 2020
5808d9b
Parse: Remove parse-time name lookup
slavapestov Sep 26, 2020
6e0e87f
Remove TreeScopedHashTable.h
slavapestov Oct 1, 2020
dd6e796
Merge pull request #34771 from atrick/disable-linear-lifetime-assert
swift-ci Nov 17, 2020
c4abccb
Merge pull request #34742 from atrick/fix-unchecked-ownership
atrick Nov 17, 2020
36090fa
Merge pull request #34757 from buttaface/atomic
drodriguez Nov 17, 2020
c9dbef6
Merge pull request #34137 from slavapestov/remove-parse-time-lookup
slavapestov Nov 17, 2020
28b7d45
Temporarily disable IRGen/objc_generic_class_stub.swift
atrick Nov 17, 2020
5f3ac71
Merge pull request #34778 from atrick/disable-objc-test
swift-ci Nov 17, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions docs/SIL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5894,6 +5894,25 @@ This instruction is assumed to forward a fixed ownership (set upon its
construction) and lowers to 'unchecked_bitwise_cast' in non-ossa code. This
causes the cast to lose its guarantee of layout-compatibility.

unchecked_ownership_conversion
``````````````````````````````
::

sil-instruction ::= 'unchecked_ownership_conversion' sil-operand ',' sil-value-ownership-kind 'to' sil-value-ownership-kind

%1 = unchecked_ownership_conversion %0 : $A, @guaranteed to @owned

Converts its operand to an identical value of the same type but with
different ownership without performing any semantic operations
normally required by for ownership conversion.

This is used in Objective-C compatible destructors to convert a
guaranteed parameter to an owned parameter without performing a
semantic copy.

The resulting value must meet the usual ownership requirements; for
example, a trivial type must have '.none' ownership.

ref_to_raw_pointer
``````````````````
::
Expand Down
9 changes: 9 additions & 0 deletions include/swift/AST/Builtins.def
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,15 @@ BUILTIN_MISC_OPERATION_WITH_SILGEN(CancelAsyncTask, "cancelAsyncTask", "", Speci
/// a function to execute.
BUILTIN_MISC_OPERATION_WITH_SILGEN(CreateAsyncTask, "createAsyncTask", "", Special)

/// createAsyncTaskFuture(): (
/// Int, Builtin.NativeObject?, @escaping () async throws -> T
/// ) -> Builtin.NativeObject
///
/// Create a new asynchronous task future, given flags, an (optional) parent
/// task and a function to execute.
BUILTIN_MISC_OPERATION_WITH_SILGEN(CreateAsyncTaskFuture,
"createAsyncTaskFuture", "", Special)

/// globalStringTablePointer has type String -> Builtin.RawPointer.
/// It returns an immortal, global string table pointer for strings constructed
/// from string literals. We consider it effects as readnone meaning that it
Expand Down
9 changes: 5 additions & 4 deletions include/swift/AST/DiagnosticsFrontend.def
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,8 @@ ERROR(error_mode_cannot_emit_interface,none,
ERROR(error_mode_cannot_emit_module_summary,none,
"this mode does not support emitting module summary files", ())
ERROR(cannot_emit_ir_skipping_function_bodies,none,
"-experimental-skip-*-function-bodies do not support emitting IR", ())
"the -experimental-skip-*-function-bodies* flags do not support "
"emitting IR", ())

WARNING(emit_reference_dependencies_without_primary_file,none,
"ignoring -emit-reference-dependencies (requires -primary-file)", ())
Expand Down Expand Up @@ -415,9 +416,9 @@ ERROR(expectation_missing_opening_braces,none,
ERROR(expectation_missing_closing_braces,none,
"didn't find '}}' to match '{{' in expectation", ())

WARNING(module_incompatible_with_skip_non_inlinable_function_bodies,none,
"module '%0' cannot be built with "
"-experimental-skip-non-inlinable-function-bodies; this option has "
WARNING(module_incompatible_with_skip_function_bodies,none,
"module '%0' cannot be built with any of the "
"-experimental-skip-*-function-bodies* flags; they have "
"been automatically disabled", (StringRef))

#define UNDEFINE_DIAGNOSTIC_MACROS
Expand Down
12 changes: 8 additions & 4 deletions include/swift/AST/GenericParamList.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@ class GenericParamList final :
if (WhereLoc.isInvalid())
return SourceRange();

if (Requirements.empty())
return WhereLoc;

auto endLoc = Requirements.back().getSourceRange().End;
return SourceRange(WhereLoc, endLoc);
}
Expand Down Expand Up @@ -352,16 +355,18 @@ class alignas(RequirementRepr) TrailingWhereClause final :
friend TrailingObjects;

SourceLoc WhereLoc;
SourceLoc EndLoc;

/// The number of requirements. The actual requirements are tail-allocated.
unsigned NumRequirements;

TrailingWhereClause(SourceLoc whereLoc,
TrailingWhereClause(SourceLoc whereLoc, SourceLoc endLoc,
ArrayRef<RequirementRepr> requirements);

public:
/// Create a new trailing where clause with the given set of requirements.
static TrailingWhereClause *create(ASTContext &ctx, SourceLoc whereLoc,
static TrailingWhereClause *create(ASTContext &ctx,
SourceLoc whereLoc, SourceLoc endLoc,
ArrayRef<RequirementRepr> requirements);

/// Retrieve the location of the 'where' keyword.
Expand All @@ -379,8 +384,7 @@ class alignas(RequirementRepr) TrailingWhereClause final :

/// Compute the source range containing this trailing where clause.
SourceRange getSourceRange() const {
return SourceRange(WhereLoc,
getRequirements().back().getSourceRange().End);
return SourceRange(WhereLoc, EndLoc);
}

void print(llvm::raw_ostream &OS, bool printWhereKeyword) const;
Expand Down
3 changes: 0 additions & 3 deletions include/swift/Basic/LangOptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,6 @@ namespace swift {
/// This is a staging flag; eventually it will be removed.
bool EnableDeserializationRecovery = true;

/// Someday, ASTScopeLookup will supplant lookup in the parser
bool DisableParserLookup = false;

/// Whether to enable the new operator decl and precedencegroup lookup
/// behavior. This is a staging flag, and will be removed in the future.
bool EnableNewOperatorLookup = false;
Expand Down
Loading