Amritpan Kaur
555a486cda
[Mangler] Add new mangling schemes.
2025-03-19 10:54:06 -07:00
Pavel Yaskevich
552106d536
Merge pull request #80081 from xedin/rdar-143161190
...
[CSSimplify] Open key path type before assignment to its record requirements
2025-03-19 09:50:11 -07:00
Artem Chikin
04015fef77
[Dependency Scanning] Adopt new clang scanner API to place stable modules into an SDK-specific module cache
2025-03-19 10:43:42 -06:00
Amritpan Kaur
86d456e4eb
[Sema] Block inout method arguments.
2025-03-19 08:56:03 -07:00
Amritpan Kaur
a96b780a28
[Sema] Diagnose method arg captures that are not Hashable/Equatable.
2025-03-19 08:56:03 -07:00
Amritpan Kaur
970159c09d
[CSDiagnostics] Block async, throws and mutating methods.
2025-03-19 08:56:03 -07:00
Amritpan Kaur
978a5215d5
[Expr/AST] Add apply component to handle resolved method arguments.
2025-03-19 08:56:03 -07:00
Amritpan Kaur
0c614e09d1
[Expr/AST] Add unresolvedApply component to handle method arguments.
2025-03-19 08:56:03 -07:00
Amritpan Kaur
2583da94b2
[NFC] Generalize subscript index handling.
2025-03-19 08:53:18 -07:00
Amritpan Kaur
811d54901b
[NFC] Rename unresolvedProperty to unresolvedMember
...
to generalize for both properties and method members.
2025-03-19 08:53:18 -07:00
Amritpan Kaur
8f71f5c780
[NFC] Rename property to member to generalize
...
for both properties and method members.
2025-03-19 08:53:18 -07:00
Artem Chikin
88dec5199e
[Dependency Scanning] Add support for placing explicitly-built SDK modules into a separate module cache
...
With '-sdk-module-cache-path', Swift textual interfaces found in the SDK will be built into a separate SDK-specific module cache.
Clang modules are not yet affected by this change, pending addition of the required API.
2025-03-19 09:17:04 -06:00
Slava Pestov
6a3ead3a44
Merge pull request #80107 from slavapestov/for-abstract-conformance
...
Fix a few more callers of ProtocolConformanceRef::forAbstract() to pass in a subject type
2025-03-19 07:15:27 -04:00
Holly Borla
8ec70e2559
[Macros] Gate closure body macros behind an experimental feature flag.
2025-03-18 20:50:47 -07:00
Holly Borla
31d4f661fc
[Macros] Support function body macros on closures.
2025-03-18 20:50:47 -07:00
Doug Gregor
a02633ad47
Merge pull request #80103 from DougGregor/strict-safety-more-minor-cleanups
2025-03-18 20:29:25 -07:00
Slava Pestov
8bcd09aaa4
SIL: Preliminary refactoring of SILWitnessTable::AssociatedConformanceWitness
...
The Protocol field isn't really necessary, because the conformance
stores the protocol. But we do need the substituted subject type
of the requirement, just temporarily, until an abstract conformance
stores its own subject type too.
2025-03-18 19:38:42 -04:00
Slava Pestov
efbeaea969
AST: Always-on ASSERTs for ProtocolConformanceRef
...
If any of the get*() methods are called on the wrong kind of
ProtocolConformanceRef, we immediately cast a pointer to an
incorrect type, which will most likely cause a crash.
2025-03-18 19:38:20 -04:00
Pavel Yaskevich
cfad698202
[CSDiagnostics] Tailor diagnostic for Escapable conformance mismatch in key path context
2025-03-18 14:38:40 -07:00
Doug Gregor
9570e1e3a7
[SE-0458] Add fix-it for removing unnecessary "unsafe" keywords
2025-03-18 13:57:16 -07:00
Doug Gregor
4742d2c5db
[SE-0458] withoutActuallyEscaping is unsafe for @convention(block)
...
The implementation of `withoutActuallyEscaping` for `@convention(block)`
functions cannot verify at runtime that the function did not actually
escape. Diagnose this as unsafe code under strict memory safety checking.
Fixes rdar://139994149.
2025-03-18 13:26:47 -07:00
Allan Shortlidge
7e7b234291
Merge pull request #80084 from tshortli/custom-domain-runtime-availability
...
AST: Skip SILGen for decls that are unavailable in custom domains
2025-03-18 06:26:24 -07:00
Anthony Latsis
ad3a5adc6d
Merge pull request #80008 from AnthonyLatsis/danaus-plexippus-4
2025-03-18 13:24:17 +00:00
Allan Shortlidge
5e0eb09fc0
AST: Skip codegen for decls that are unavailable in custom domains.
...
Regardless of the value specified for `-unavailable-decl-optimization`, decls
that are unavailable in custom availability domains should be treated as always
unreachable at runtime.
Part of rdar://138441307.
2025-03-17 22:46:07 -07:00
Allan Shortlidge
7ae3a86d9b
AST: Introduce "root" availability domains.
...
A root availability domain is a direct descendant of the universal availability
domain.
2025-03-17 22:09:28 -07:00
Joe Groff
24a91bba5d
Merge pull request #80038 from jckarter/addressable-for-deps-lowering
...
SIL: Lower fields that are conditionally addressable because of a dependency.
2025-03-17 21:28:33 -07:00
Michael Gottesman
0b2c160740
Merge pull request #80070 from gottesmm/swift-settings-only-once
...
[swift-settings] Only allow for a setting to be passed exactly once to #SwiftSettings.
2025-03-17 19:12:00 -07:00
Anthony Latsis
c49947579a
Sema: Implement adoption mode for AsyncCallerExecution
2025-03-18 01:58:31 +00:00
Konrad `ktoso` Malawski
85fcd69833
[Concurrency] Implement detecting isIsolatingCurrentContext user impls ( #79946 )
...
* [Concurrency] Detect non-default impls of isIsolatingCurrentContext
* [Concurrency] No need for trailing info about isIsolating... in conformance
* Apply changes from review
2025-03-18 09:39:11 +09:00
Allan Shortlidge
dd68e98002
Merge pull request #80051 from tshortli/refactor-semantic-decl-availability-request
...
AST: Introduce `DeclRuntimeAvailability`
2025-03-17 14:35:48 -07:00
Michael Gottesman
4b31382d67
[swift-settings] Only allow for a setting to be passed exactly once to #SwiftSettings.
...
This responds to some feedback on the forums. Most importantly this allows for
us to use variadic generics in the the type system to document whether we allow
for "appending" behavior or not. Previously, for some options we would take the
last behavior (and theoretically) for others would have silently had appending
behavior. This just makes the behavior simple and more explicit.
2025-03-17 14:03:52 -07:00
Allan Shortlidge
7ed2a0def6
AST: Rename SemanticDeclAvailability to DeclRuntimeAvailability.
2025-03-17 09:13:43 -07:00
Allan Shortlidge
2309793b70
AST: Refactor SemanticDeclAvailabilityRequest.
...
Generalize the implementation of `SemanticDeclAvailabilityRequest` in
preparation for adding a new case to `SemanticDeclAvailability`. Use the
centralized availability constraint query instead of implementing a bespoke
algorithm for gathering constraints. Simplify `SemanticDeclAvailability` by
removing a case that is no longer relevant.
Part of rdar://138441307.
2025-03-17 09:10:32 -07:00
Pavel Yaskevich
b32a1caf53
Merge pull request #80032 from xedin/expand-scope-of-execution-attr
...
[AST/Sema] Allow `@execution(...)` attribute to be used on initializers and accessors
2025-03-17 09:01:41 -07:00
Rintaro Ishizaki
7693508b38
Merge pull request #80048 from rintaro/astgen-fixfix
...
[ASTGen] Misc fix
2025-03-17 08:58:06 -07:00
nate-chandler
39f58de32e
Merge pull request #80033 from nate-chandler/verify-each-flag
...
[IRGen] Add flags to control LLVM verify-each.
2025-03-17 07:35:17 -07:00
Allan Shortlidge
fc2b5bebdc
AST: Remove Decl::isSemanticallyUnavailable().
...
It can be replaced by querying the `AvailabilityContext` for a declaration
directly.
2025-03-16 23:33:56 -07:00
Rintaro Ishizaki
7add493002
[ASTGen] Generate '@_spi_available' attribute
2025-03-16 17:41:21 -07:00
Rintaro Ishizaki
607d122fe9
[ASTGen] Handle several missing syntax
...
* MissingExpr: Generate ErrorExpr with previous token location
* MissingType: Generate ErrorTypeRepr with previous token location
* MissingPattern: Generate implicit '_' pattern for recovery
2025-03-16 17:41:21 -07:00
Rintaro Ishizaki
ddd5b12661
[ASTGen] Handle trailing where clause in macro declarations
2025-03-16 17:41:21 -07:00
Rintaro Ishizaki
a2e40d6c31
[ASTGen] Generate @_typeEraser attribute
2025-03-16 15:18:59 -07:00
Rintaro Ishizaki
d1f892cbdc
[ASTGen] Generate '@reasync' and '@rethrows'
...
Also, fallback 'shouldBeRejectedByParser' attribute names to
'CustomAttr'.
2025-03-16 15:14:27 -07:00
Rintaro Ishizaki
9fc8bba26d
[ASTGen] Fix 'RawDocCommentAttr' generation
...
* Generate only when 'AttachCommentsToDecls' lang option is enabled.
* Fix the range.
2025-03-16 15:00:29 -07:00
Rintaro Ishizaki
c90768f36e
[ASTGen] Fix NamedOpaqueReturnTypeRepr
...
Generic parameter list was missing
2025-03-16 14:59:43 -07:00
Rintaro Ishizaki
bc668b6232
[ASTGen] Fix nullability
...
For 'arbitrary' macro names
2025-03-16 14:48:00 -07:00
Rintaro Ishizaki
996e72061a
[ASTGen] Gnerate PlaceholderTypeRepr
2025-03-16 14:38:32 -07:00
Allan Shortlidge
2dd544a73c
AST/Sema: Sink AvailabilityContext for location queries from Sema to AST.
2025-03-15 23:47:29 -07:00
Allan Shortlidge
151c9dee39
AST: Consolidate abstract/contrete syntax decl lookup functions.
2025-03-15 23:47:29 -07:00
Allan Shortlidge
02dcd5d8cf
AST/Sema: Sink AvailabilityScopeBuilder from Sema to AST.
2025-03-15 23:47:29 -07:00
Allan Shortlidge
ff9b541c57
AST/Sema: Sink isExported() queries from Sema to AST.
2025-03-15 23:47:29 -07:00