Joe Groff
8242110bbe
Merge pull request #76831 from jckarter/builtin-vector
...
Builtin.FixedArray
2024-10-23 05:20:21 -10:00
Joe Groff
a184782a38
Introduce a Builtin.FixedArray type.
...
`Builtin.FixedArray<let N: Int, T: ~Copyable & ~Escapable>` has the layout of `N` elements of type `T` laid out
sequentially in memory (with the tail padding of every element occupied by the array). This provides a primitive
on which the standard library `Vector` type can be built.
2024-10-22 16:21:45 -07:00
swift-ci
5bfc87531f
Merge remote-tracking branch 'origin/main' into rebranch
2024-10-17 18:21:11 -07:00
Michael Gottesman
f0f5ad54fd
[thunk-lowering] Add support for mangling identity thunks.
...
This is just again using identity thunks to show that the behavior works before
I add in hop to main actor.
2024-10-17 11:17:38 -07:00
swift-ci
8a2edbc4c5
Merge remote-tracking branch 'origin/main' into rebranch
2024-10-11 17:05:06 -07:00
Nate Chandler
df1c4f6b25
[CoroutineAccessors] Add new SILFnTy CoroKind.
...
For `modify` and `read` coroutines, produce SILFunctionType's whose
coroutineKind is ::YieldOnce2.
2024-10-11 08:25:02 -07:00
swift-ci
b8a5d2d6d7
Merge remote-tracking branch 'origin/main' into rebranch
2024-10-03 01:35:42 -07:00
Konrad `ktoso` Malawski
dea3b59331
Merge pull request #76250 from ktoso/wip-experimental-isolated-deinit
2024-10-03 17:19:10 +09:00
swift-ci
e5f97d79c5
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-30 07:15:01 -07:00
nate-chandler
ba8f8ea282
Merge pull request #76526 from nate-chandler/general-coro/20240906/1
...
[CoroutineAccessors] Initial framing.
2024-09-30 07:04:04 -07:00
Konrad `ktoso` Malawski
45b97f146b
Merge branch 'main' into wip-experimental-isolated-deinit
2024-09-30 13:47:39 +09:00
Nate Chandler
091368ba21
[CoroutineAccessors] Added read.
...
The name is a placeholder for the mutating single-yield coroutine
accessor.
2024-09-26 18:10:39 -07:00
Nate Chandler
98a2e6a7df
[CoroutineAccessors] Added modify.
...
The name is a placeholder for the mutating single-yield coroutine
accessor.
2024-09-26 18:10:39 -07:00
Ben Barham
c15bc19946
Merge remote-tracking branch 'origin/main' into main-to-rebranch
...
Conflicts:
- `lib/Serialization/ModuleFileSharedCore.cpp` new headers on main
2024-09-26 16:01:56 -07:00
eeckstein
8c5d7ee452
Merge pull request #76669 from eeckstein/class-existentials
...
embedded: support class existentials with generic classes
2024-09-26 07:37:35 +02:00
Doug Gregor
77ed014690
Remove unused ASTMangler::mangleGlobalGetterEntity
2024-09-25 14:28:16 -07:00
Erik Eckstein
2950e4521e
SIL: representation for specialized witness tables
...
The main change here is to associate a witness table with a `ProtocolConformance` instead of a `RootProtocolConformance`.
A `ProtocolConformance` is the base class and can be a `RootProtocolConformance` or a `SpecializedProtocolConformance`.
2024-09-25 19:32:08 +02:00
Konrad `ktoso` Malawski
d89347bed0
Merge branch 'main' into wip-experimental-isolated-deinit
2024-09-20 18:34:45 +09:00
swift-ci
ae4fee5d4e
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-19 13:54:31 -07:00
Doug Gregor
5b2520e379
Remove IfConfigDecl from the AST
...
The swift-syntax tree retains information about the parsed #if
regions. Drop it from the semantic AST.
2024-09-18 20:51:54 -07:00
Konrad `ktoso` Malawski
7d1ce789ad
Revert "Revert "Isolated synchronous deinit""
2024-09-17 17:35:38 +09:00
Ben Barham
a7b50f357f
Merge remote-tracking branch 'origin/main' into manual-main-merge
...
Conflicts:
- `lib/Driver/ToolChains.cpp` conflicting with the `addAllArgs` rename
for multiple options
2024-09-16 13:53:18 -07:00
Kavon Farvardin
793b46f917
ASTMangler: sink fix to be more safe
...
My previous fix in `6f6a46f` was the correct fix in theory, but in
practice it could accidentally change the mangling of something I
haven't considered, which would break ABI with Swift 6.0
I've narrowed that fix here to only affect dependent conformances
specifically for Copyable/Escapable. The existing code in
`appendDependentProtocolConformance` would always reach a trap because
we're mangling a conformance path that ends with Copyable/Escapable.
We can assume no such symbol has been successfully been mangled before,
thanks to the pre-existing skip in `conformanceRequirementIndex`, so
there's no risk of ABI change.
rdar://135310019
2024-09-12 10:21:11 -07:00
Meghana Gupta
a7518ac3d9
Merge pull request #76255 from meg-gupta/disablemangling
...
Delete lifetime dependence mangling
2024-09-09 19:59:16 -07:00
Kavon Farvardin
034dab8af2
Merge pull request #76293 from kavon/ncgenerics-opaque-dependent-conformance-mangling
...
ASTMangler: skip mangling Copyable dependents
2024-09-09 18:20:32 -07:00
Kavon Farvardin
6f6a46f225
ASTMangler: skip mangling Copyable dependents
...
Typically, a conformance that is dependent on a conformance to a marker
protocol never reaches this point in the compiler, where we're mangling
the metadata for an opaque return type.
But with the invertible protocols like Copyable, we do permit them, so
we should avoid mangling Copyable as that's generally ABI incompatible
with existing code.
resolves rdar://135310019
2024-09-09 14:36:54 -07:00
Meghana Gupta
10057523ec
Delete lifetime dependence mangling
...
Mangling this information for future directions like component lifetimes
becomes complex and the current mangling scheme isn't scalable anyway.
Deleting this support for now.
2024-09-05 22:03:58 -07:00
swift-ci
da55e84c74
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-05 15:35:33 -07:00
Slava Pestov
1ff1b9479a
AST: Pick off some usages of GenericTypeParamType::getDecl()
2024-09-04 15:13:46 -07:00
Alejandro Alonso
f4f60f4344
Remove Value requirement Add GenericTypeParamKind
2024-09-04 15:13:43 -07:00
Alejandro Alonso
75c2cbf593
Implement value generics
...
Some requirement machine work
Rename requirement to Value
Rename more things to Value
Fix integer checking for requirement
some docs and parser changes
Minor fixes
2024-09-04 15:13:25 -07:00
swift-ci
756fe355fa
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-03 22:34:34 -07:00
Alex Hoppen
c5aa49ba64
Revert "Isolated synchronous deinit"
2024-09-03 18:11:26 -07:00
swift-ci
dd7533d4e7
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-03 09:33:55 -07:00
Konrad `ktoso` Malawski
c55ad6fa88
Merge branch 'main' into mpokhylets/isolated-deinit
2024-09-02 23:16:17 +09:00
swift-ci
33c663ec14
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-01 15:14:16 -07:00
Slava Pestov
e79763b590
AST: Factor out mapLocalArchetypesOutOfContext() utility function
2024-08-30 15:24:00 -04:00
Mykola Pokhylets
e0ad7bde82
Merge branch 'main' into mpokhylets/isolated-deinit
...
# Conflicts:
# include/swift/Basic/Features.def
# lib/AST/ASTPrinter.cpp
# lib/AST/FeatureSet.cpp
2024-08-29 11:28:43 +02:00
swift-ci
ee0d59cc91
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-24 12:35:16 -07:00
Slava Pestov
cf784f980e
AST: Remove SubstFlags::AllowLoweredTypes
2024-08-23 13:14:05 -04:00
Slava Pestov
da4d076f02
AST: Introduce SubstFlags::SubstitutePrimaryArchetypes
2024-08-22 18:41:14 -04:00
swift-ci
e27edcada1
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-21 16:49:14 -07:00
Slava Pestov
39b4bda1dc
AST: Introduce SubstFlags::SubstituteLocalArchetypes
2024-08-21 14:23:37 -04:00
swift-ci
b08f7a1307
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-20 13:58:19 -07:00
Slava Pestov
50ab7f52a2
AST: Remove more usages of ArchetypeType::getRoot()
2024-08-20 11:51:31 -04:00
swift-ci
3b35248991
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-19 05:33:56 -07:00
Slava Pestov
be56e430ca
ASTMangler: Compute canonical type earlier
2024-08-17 22:04:15 -04:00
swift-ci
a5ec343a08
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-17 06:14:34 -07:00
Mykola Pokhylets
50b1313175
Merge branch 'main' into mpokhylets/isolated-deinit
...
# Conflicts:
# lib/SILGen/SILGenDistributed.cpp
# lib/Sema/TypeCheckConcurrency.cpp
2024-08-15 16:58:43 +02:00
Slava Pestov
b601c294ac
AST: Replace remaining uses of Type::transform() with transformRec()
2024-08-12 16:05:43 -04:00