Konrad `ktoso` Malawski
45b97f146b
Merge branch 'main' into wip-experimental-isolated-deinit
2024-09-30 13:47:39 +09:00
swift-ci
b8a494b089
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-28 02:49:38 -07:00
Amritpan Kaur
6066418340
Merge pull request #73242 from amritpan/metatype-kp-implementation
2024-09-28 02:46:15 -07:00
Amritpan Kaur
8ebc928649
Guard feature behind experimental flag.
2024-09-27 22:42:04 -07:00
swift-ci
a655fe5edc
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-27 09:56:29 -07:00
Steven Wu
b2578749a3
Merge pull request #76737 from cachemeifyoucan/eng/PR-block-list-vfs
...
[Blocklist] Make sure blocklist config is read through VFS
2024-09-27 09:51:48 -07:00
Nate Chandler
66e6c59681
[Features] Added CoroutineAccessors.
2024-09-26 18:10:38 -07:00
swift-ci
feeba97fb2
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-26 17:49:11 -07:00
Steven Wu
82c9fdf68b
[Blocklist] Make sure blocklist config is read through VFS
...
Make sure block-list file is read through VFS so CASFS can be used to
read the configuration to ensure sound caching, and also the path of the
blocklist can be canonicalized via path remapping.
2024-09-26 17:02:10 -07:00
Allan Shortlidge
d373036805
SE-0444: Promote MemberImportVisibility to an upcoming feature.
...
The proposal has been accepted, so `MemberImportVisibility` is no longer
experimental.
Resolves rdar://126284512.
2024-09-26 13:41:14 -07:00
swift-ci
753b917274
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-25 05:36:07 -07:00
Slava Pestov
bfc4f956fd
Merge pull request #76662 from slavapestov/fine-grained-timers-flag
...
Add -fine-grained-timers flag
2024-09-25 08:26:08 -04:00
swift-ci
a0d7a9e5b8
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-24 19:19:27 -07:00
Rintaro Ishizaki
c57025af67
Avoid #include AST headers in Basic headers
...
Resolve a layering violation. `DiagnosticBehavior` was used in
`LangOptions`. Introduce a dedicated 'enum' for the possible values.
2024-09-24 15:18:26 -07:00
swift-ci
5b6002caeb
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-24 01:55:37 -07:00
Allan Shortlidge
0fb36a5f39
AST: Make $SpecializeAttributeWithAvailability a baseline feature.
...
It has been available since at least Swift 5.8.
2024-09-23 21:48:09 -07:00
Slava Pestov
c77fae3a2d
Basic: Add -fine-grained-timers flag
...
By default, -stats-output-dir does not collect per-request timers and
counters, because of overhead.
2024-09-23 18:04:25 -04:00
swift-ci
810501b86a
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-23 10:15:55 -07:00
Hiroshi Yamauchi
34def0ea27
Merge pull request #76589 from hjyamauchi/issue74866-3
...
Ensure that bridged types are indirectly returned on Windows ARM64
2024-09-23 10:00:31 -07:00
Konrad `ktoso` Malawski
d89347bed0
Merge branch 'main' into wip-experimental-isolated-deinit
2024-09-20 18:34:45 +09:00
Hiroshi Yamauchi
dedfb9e0ab
Ensure that bridged types are indirectly returned on Windows ARM64
...
On Windows ARM64, how a struct value type is returned is sensitive to
conditions including whether a user-defined constructor exists,
etc. See
https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#return-values
That caused a calling convention mismatch between the
non-USED_IN_CPP_SOURCE (Swift) side and the USE_IN_CPP_SOURCE (C++)
side and a crash.
Following https://github.com/swiftlang/swift/pull/76433 add
constructors to several bridged C++ struct/class types so that the
calling convention matches.
This is a partial fix for https://github.com/swiftlang/swift/issues/74866
2024-09-19 16:00:15 -07:00
swift-ci
9bd7daddb9
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-19 15:14:52 -07:00
Sima Nerush
7e5a57a07a
Guard the changes behind an experimental feature flag.
2024-09-19 10:09:56 -07:00
swift-ci
df338c19a8
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-19 09:34:45 -07:00
Gábor Horváth
4d01253674
Merge pull request #76429 from swiftlang/gaborh/safe-cxx-interop-mode
...
[cxx-interop] Introduce a safe C++ interop mode
2024-09-19 17:25:28 +01:00
Michael Gottesman
fb281331b3
Merge pull request #76558 from gottesmm/pr-39b63781333d46b16f086a7c192efc67b26255db
...
[concurrency] Behind the flag UnspecifiedMeansMainActorIsolated, try inferring by default main actor isolation instead of nonisolated for unspecified.
2024-09-19 09:18:33 -07:00
Gabor Horvath
929c0ca7d8
[cxx-interop] Introduce a safe C++ interop mode
...
In this mode all C++ types are imported as unsafe by default. Users
explicitly marking types are escapable or not escapable can make them
imported as safe. In the future, we also want to import unannotated
functions as unsafe and add more logic to infer types that are actually
safe, like agregates of escapable types.
2024-09-19 12:34:07 +01:00
Michael Gottesman
3843899c19
[concurrency] Behind the flag UnspecifiedMeansMainActorIsolated, try inferring by default main actor isolation instead of nonisolated for unspecified.
...
Just to play with.
2024-09-18 13:23:23 -07:00
swift-ci
6964118e7e
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-18 13:17:04 -07:00
Doug Gregor
6f88c228df
Maintain a buffer ID -> source file(s) mapping in the source manager
...
Now that every source file has a buffer ID, introduce the reverse mapping
so clients can find the source file(s) in their module that reference
that buffer ID.
2024-09-17 14:01:58 -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
Egor Zhdan
586ac0953c
Merge pull request #76408 from swiftlang/egorzhdan/scs-owned-string
...
[cxx-interop][SwiftCompilerSources] Do not use `SWIFT_IMPORT_UNSAFE` with `BridgedOwnedString`
2024-09-16 20:00:20 +01:00
Meghana Gupta
68bfc0d3b4
Make NonEscapableTypes as a suppressible experimental feature
2024-09-13 13:13:17 -07:00
Rintaro Ishizaki
107027920e
Merge pull request #76436 from rintaro/basic-remove-llvmjson
...
[Basic] Remove llvm::JSON C bridging
2024-09-12 19:40:27 -07:00
Kavon Farvardin
ba0aac3f39
Merge pull request #76093 from kavon/coldsplit-2
...
ColdBlockInfo: overhaul analysis pass
2024-09-12 16:06:07 -07:00
Rintaro Ishizaki
d7303d141c
[Basic] Remove llvm::JSON C bridging
...
This was used for plugin message serialization, but it's migrated to
SwiftCompilerPluginMessageHandling JSON.
2024-09-12 12:04:28 -07:00
Egor Zhdan
35263ef9d6
[cxx-interop][SwiftCompilerSources] Do not use SWIFT_IMPORT_UNSAFE with BridgedOwnedString
...
`SWIFT_IMPORT_UNSAFE` is an escape hatch that can be used to make the Swift compiler ignore its usual safety heuristics for C++ types.
`BridgedOwnedString` fits into the definition of a self-contained C++ type in Swift: it manages the lifetimes of its own fields.
This removes the usages of `SWIFT_IMPORT_UNSAFE` for C++ functions that return `BridgedOwnedString`, and annotates `BridgedOwnedString` as a self-contained type.
2024-09-11 19:58:14 +01:00
Dmitrii Galimzianov
a8b71ea97f
Add -print-diagnostic-groups flag
...
This change adds the `-print-diagnostic-groups` flag as described by SE-0443.
2024-09-11 13:34:42 +02:00
Doug Gregor
08e339b7b4
Merge pull request #74466 from DmT021/wp/no-warning-as-error
...
[Diagnostics] Add -no-warning-as-error to except a specific warning from being treated as an error
2024-09-09 09:35:05 -07:00
Dmitrii Galimzianov
070c77ebcf
fixup! [Diagnostics] Add -[no-]warning-as-error flags for precise control over warning behavior
2024-09-07 07:55:27 +02:00
Dmitrii Galimzianov
28883b6654
[Diagnostics] Add -[no-]warning-as-error flags for precise control over warning behavior
...
This commit adds new compiler options -no-warning-as-error/-warning-as-error which allows users to specify behavior for exact warnings and warning groups.
2024-09-07 01:14:43 +02:00
swift-ci
da55e84c74
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-05 15:35:33 -07:00
Alejandro Alonso
451e7259a1
Add ValueGenerics experimental feature
2024-09-04 15:13:49 -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
Kavon Farvardin
7203a4fa73
ColdBlockInfo: overhaul analysis pass
...
The old analysis pass doesn't take into account profile data, nor does
it consider post-dominance. It primarily dealt with _fastPath/_slowPath.
A block that is dominated by a cold block is itself cold. That's true
whether it's forwards or backwards dominance.
We can also consider a call to any `Never` returning function as a
cold-exit, though the block(s) leading up to that call may be executed
frequently because of concurrency. For now, I'm ignoring the concurrency
case and assuming it's cold. To make use of this "no return" prediction,
use the `-enable-noreturn-prediction` flag, which is currently off by
default.
2024-09-03 15:41:10 -07:00
swift-ci
dd7533d4e7
Merge remote-tracking branch 'origin/main' into rebranch
2024-09-03 09:33:55 -07: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
a5d12a6c87
Merge remote-tracking branch 'origin/main' into rebranch
2024-08-25 03:44:58 -07:00