Anthony Latsis
2771f36ced
LangOptions: Refactor feature state and API to account for adoption mode
2025-03-04 13:43:28 +00:00
Anthony Latsis
2a88419f5c
Frontend: Do not suggest mode correction if adoption is not supported
2025-03-04 13:43:28 +00:00
Anthony Latsis
756abb9284
Frontend: Warn if adoption mode is requested but not supported
2025-03-04 13:43:28 +00:00
Anthony Latsis
8dab67bcee
Basic: Adjust feature macros for adoption mode
2025-03-04 13:43:28 +00:00
Anthony Latsis
2abf67872c
Frontend: Parse a feature mode specifier
2025-03-04 13:43:28 +00:00
Gabor Horvath
d0c167762c
[cxx-importer] Do not import pointers to non-escapable types
...
Unfortunately, Unsafe*Pointer types do not support non-escapable
pointees so we do not really have anything to map these types to at the
moment. Previously, importing such code resulted in crashes.
rdar://145800679
2025-03-04 12:27:34 +00:00
Andrew Trick
5783b497e5
Merge pull request #79758 from atrick/addressable-deps
...
Support enforcement of '@'_addressable under -enable-address-dependencies
2025-03-03 23:51:56 -08:00
Allan Shortlidge
a7de6ec0a3
Merge pull request #79761 from tshortli/availability-context-trailing-objects
...
AST: Reimplement `AvailabilityContext` storage using `TrailingObjects`
2025-03-03 23:40:31 -08:00
Doug Gregor
6f6b8dd071
[Diagnostics] Provide category name + documentation path
...
Bridge the category name and educational note computed for the Swift
compiler's diagnostics to the newly-introduced category field for
the swift-syntax diagnostics. This lets the swift-syntax renderer
introduce the category name and (optionally) link to the
documentation.
2025-03-03 22:49:33 -08:00
John Hui
98f4c1d263
[NFC] inline hasDomain into assertion ( #79755 )
2025-03-03 22:12:08 -08:00
Holly Borla
fdd7402bbf
[Educational Notes] Add an explanation for sending closure arguments.
2025-03-03 21:44:30 -08:00
Holly Borla
0f7c991eec
[Educational Notes] Add an explanation for actor-isolated calls from
...
synchronous nonisolated contexts.
2025-03-03 21:44:30 -08:00
Holly Borla
cf437719fa
[Educational Notes] Add an explanation for captures in a @Sendable
...
closure.
2025-03-03 21:40:59 -08:00
Holly Borla
4353c5a2fe
[Educational Notes] Add an explanation for the unsafe global variable
...
errors.
2025-03-03 21:22:33 -08:00
Holly Borla
72eab9f02a
[Educational Notes] Add an explanation for `sending 'x' risks causing
...
data races`.
2025-03-03 21:22:33 -08:00
Holly Borla
8be41edf6f
[Concurrency] Add a macro for wrapping a function body in a new task.
2025-03-03 20:51:14 -08:00
Allan Shortlidge
c6a5e6f745
AST: Reimplement AvailabilityContext storage using TrailingObjects.
...
This makes more efficient use of the permanent memory allocated for
`AvailabilityContext` representations and also fixes a leak that was introduced
in https://github.com/swiftlang/swift/pull/79718 where the small vector for
unavailable domain storage was not being cleaned up on `ASTContext`
deallocation.
Resolves rdar://145929932.
2025-03-03 18:29:34 -08:00
Doug Gregor
064e0c6264
Ensure that isolated conformances originate in the same isolation domain
...
This is the missing check for "rule #1 " in the isolated conformances proposal,
which states that an isolated conformance can only be referenced within
the same isolation domain as the conformance. For example, a
main-actor-isolated conformance can only be used within main-actor code.
2025-03-03 17:47:50 -08:00
Andrew Trick
fa64a362a2
Add -Xfrontend -enable-address-dependencies
...
Temporary option to bootstrap '@'_addressable enforcement.
Once all the SILGen cases are handled, we won't need this option.
2025-03-03 16:21:48 -08:00
Meghana Gupta
cf6c4c9422
Merge pull request #79699 from meg-gupta/prboundscheck
...
Add support for bounds check optimization of Span and InlineArray
2025-03-03 14:32:27 -08:00
Konrad `ktoso` Malawski
92ead521b8
[Concurrency] Fix swift-inspect and remote mirror build ( #79715 )
2025-03-04 07:04:42 +09:00
Andrew Trick
bc6200e592
SwiftCompilerSources: bridge '@'_addressable dependencies
2025-03-03 11:56:37 -08:00
Andrew Trick
c937aa079e
Merge pull request #79736 from atrick/fix-address-walk
...
Add verification to catch many incorrect liveness checks
2025-03-03 11:54:40 -08:00
Alexis Laferrière
eb148b1d37
Merge pull request #79713 from xymus/index-while-building-allow-errors
...
Index: Accept more deserialization inconsistencies during index-while-building
2025-03-03 11:33:31 -08:00
Adrian Prantl
a1724891ec
Merge pull request #79700 from adrian-prantl/getinstancetypeinfo
...
[reflection] Generalize the implementation of getInstanceTypeInfo()
2025-03-03 09:02:44 -08:00
Andrew Trick
d73a081fe7
Add pointer escape and dependent use tracking to InteriorLiveness
...
Rig TransitiveAddressWalker to keep track of enough information for passes to
correctly check for pointer escapes and dependence uses. Requires for precise
bail-outs and asserts.
2025-03-02 23:51:34 -08:00
Allan Shortlidge
dc2fe53089
AST: Rename a couple of AvailabilityConstraint::Reason cases.
...
Choose names that don't imply availability is versioned, since custom
availability will support domains that are version-less (they are simply
available or unavailable).
2025-03-02 15:08:37 -08:00
Allan Shortlidge
b630fe5479
AST: Rename Range to PlatformRange in AvailabilityContext::Info.
2025-03-02 14:45:50 -08:00
Allan Shortlidge
866db542a3
Gardening: Use const consistently for ASTContext parameters.
2025-03-02 14:45:50 -08:00
Allan Shortlidge
dc3df46dd5
Merge pull request #79730 from tshortli/availability-comparisons
...
AST: Consolidate availability version remapping
2025-03-02 14:41:57 -08:00
Andrew Trick
6975663581
Merge pull request #79731 from atrick/fix-markdep-walk
...
Fix TransitiveAddressWalker with mark_dependence
2025-03-02 08:51:31 -08:00
Andrew Trick
45cac09728
Fix TransitiveAddressWalker with mark_dependence
...
This utility was simply ignoring the dependent value. But the
dependent value logically uses the base address. Until this is
correctly implemented, conservatively consider it a pointer-escape.
2025-03-01 22:25:42 -08:00
Allan Shortlidge
3b9ca2f397
AST: Consolidate availability version remapping.
...
Introduce `SemanticAvailableAttr` conveniences to compute the deprecated and
obsoleted ranges for an attribute and ensure they remap versions when needed.
2025-03-01 20:23:11 -08:00
Doug Gregor
ee2450f212
Merge pull request #79724 from DougGregor/isolated-conformances-constraint-system
...
Prohibit isolated conformances with Sendable(Metatype) constraints
2025-03-01 13:16:32 -08:00
Allan Shortlidge
a0010cbf05
Merge pull request #79718 from tshortli/multiple-unavailable-domains
...
AST: Allow multiple unavailable domains in `AvailabilityContext`
2025-03-01 09:24:11 -08:00
Doug Gregor
6a4d1a41c4
Prohibit isolated conformances with Sendable(Metatype) constraints
...
Within the constraint system, introduce a new kind of conformance constraint,
a "nonisolated conforms-to" constraint, which can only be satisfied by
nonisolated conformances. Introduce this constraint instead of the normal
conforms-to constraint whenever the subject type is a type parameter that
has either a `Sendable` or `SendableMetatype` constraint, i.e., when the type
or its values can escape the current isolation domain.
2025-03-01 08:19:42 -08:00
Kuba Mracek
71a5e397e4
[embedded][Concurrency] Fix missing swift_deletedAsyncMethodError
2025-03-01 06:48:39 -08:00
Allan Shortlidge
fc41265d4d
Merge pull request #79711 from tshortli/availability-diagnostics
...
AST/Sema: Adopt `AvailabilityDomain` arguments in diagnostics
2025-02-28 22:30:09 -08:00
Allan Shortlidge
f34e135cfa
AST: Add verification for AvailabilityContext.
2025-02-28 19:09:34 -08:00
Allan Shortlidge
9455a0fece
AST: Track multiple unavailable domains in AvailabilityContext.
2025-02-28 19:09:34 -08:00
Allan Shortlidge
b02d44352e
AST: Introduce StableAvailabilityDomainComparator.
2025-02-28 19:09:33 -08:00
Alexis Laferrière
302d6f1dcf
Index: Accept compiler errors during index-while-building
...
Force allowing reading from modules with compiler errors during
index-while-building as a way to recover from more deserialization
issues.
2025-02-28 14:56:26 -08:00
Allan Shortlidge
309db1c220
Sema: Update feature availability diagnostics to take AvailabilityDomain.
2025-02-28 14:46:34 -08:00
Allan Shortlidge
bc982097b9
AST/Sema: Adopt AvailabilityDomain arguments in even more diagnostics.
...
Update potential unavailability diagnostics to take `AvailabilityDomain`
instead of a platform string.
2025-02-28 14:13:24 -08:00
Allan Shortlidge
c89df2fc38
AST/Sema: Adopt AvailabilityDomain arguments in more diagnostics.
...
Update explicit unavailability and deprecation diagnostics to take
`AvailabiiltyDomain` instead of a platform string.
2025-02-28 13:57:00 -08:00
Pavel Yaskevich
3032add0ad
[Sema] Allow associated type inference to skip @Sendable on ObjC witnesses
...
Witness checking itself is allowed to skip `@Sendable` mismatch in this
situation. This is a narrow fix for `SendableCompletionHandlers` feature
to make sure that the behavior doesn't change for non-ObjC witnesses
2025-02-28 13:24:00 -08:00
Doug Gregor
ffca6968ed
[Isolated conformances] Diagnose conflict with isolated conformances and Sendable
2025-02-28 13:08:35 -08:00
Adrian Prantl
58c01bef79
[reflection] Generalize the implementation of getInstanceTypeInfo()
...
This is being indirectly tested by the LLDB testsuite.
2025-02-28 12:35:59 -08:00
Mike Ash
beba678f04
Merge pull request #79302 from mikeash/singleton-metadata-pointer
...
[IRGen] Emit a pointer from nominal type descriptor to concrete metadata.
2025-02-28 15:24:36 -05:00
nate-chandler
f8b60bb6d2
Merge pull request #79685 from nate-chandler/general-coro/20250227/1
...
[CoroutineAccessors] Use swiftcorocc if available.
2025-02-28 12:06:54 -08:00