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
swift-ci
04d8b3e7a2
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-07 17:15:02 -07:00
Slava Pestov
a142b19de5
ASTMangler: Convert an unreachable into abort
2024-08-06 14:45:33 -04:00
Mykola Pokhylets
816d62c972
Merge remote-tracking branch 'upstream/main' into mpokhylets/isolated-deinit
...
# Conflicts:
# include/swift/Basic/Features.def
# lib/SILGen/SILGenDestructor.cpp
# test/Concurrency/flow_isolation.swift
# test/abi/macOS/arm64/concurrency.swift
# test/abi/macOS/x86_64/concurrency.swift
2024-07-11 13:11:59 +02:00
Mykola Pokhylets
b189495518
Introduced isolated deinit as a SIL entity
2024-07-11 13:09:05 +02:00
swift-ci
a32c1896dc
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-10 23:09:47 -07:00
Andrew Trick
12acde2215
Merge pull request #75096 from meg-gupta/lifetimedeparg
...
Add support for lifetime dependence in parameter position
2024-07-10 22:56:23 -07:00
Ben Barham
2715d0e9d6
Merge branch 'main' into 20240710-main-to-rebranch
...
Conflicts:
- `test/Interop/Cxx/class/method/methods-this-and-indirect-return-irgen-itanium.swift`
previously fixed on rebranch, now fixed on main (slightly differently).
2024-07-10 20:42:09 -07:00
Meghana Gupta
fecd2b452d
Don't mangle lifetime dependencies in older runtimes
2024-07-10 14:48:34 -07:00
Meghana Gupta
7d2ff43fe3
Update mangling to support lifetime dependence in parameter position
2024-07-10 14:20:03 -07:00
Slava Pestov
977b444eb3
AST: Add a new overload of getContextSubstitutionMap()
2024-07-10 13:28:26 -04:00
swift-ci
b7921a8232
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-06 14:34:09 -07:00
Slava Pestov
fae01d9776
AST: Remove ModuleDecl parameter from more places
2024-07-06 12:05:46 -04:00
swift-ci
9148779681
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-04 00:15:21 -07:00
Doug Gregor
9604019c87
Drop typed throws from the mangling in closure and field reflection metadata
...
This follows what we just did for `@isolated(any)` function types.
Part of rdar://130858222.
2024-07-03 20:14:01 -07:00
swift-ci
f8b18eb54c
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-02 23:54:09 -07:00