Commit Graph

21434 Commits

Author SHA1 Message Date
Saleem Abdulrasool
c4f5831507 Platform: add APINotes for bionic.spawn
Add some APINotes for `bionic.spawn` to correct the nullability
annotations. This allows building Foundation with NDK r26b.
2025-02-27 21:09:23 -08:00
Nate Chandler
d1f1b4c86b [CoroutineAccessors] Use swiftcorocc if available.
When it's available, use an open-coded allocator function that returns
an alloca without popping if the allocator is nullptr and otherwise
calls swift_coro_alloc.  When it's not available, use the malloc
allocator in the synchronous context.
2025-02-27 18:20:53 -08:00
nate-chandler
30d91d39bf Merge pull request #79625 from nate-chandler/general-coro/20250212/1
[CoroutineAccessors] Use retcon.once variant.
2025-02-27 12:58:49 -08:00
Alastair Houghton
8e87541b93 Merge pull request #79009 from al45tair/eng/PR-121430255
[Backtracing] Add JSON backtrace output
2025-02-27 16:35:42 +00:00
Nate Chandler
dd8cbe3e0a [CoroutineAccessors] Use retcon.once variant.
Allocate a coroutine frame in the caller based on the size in the
corresponding "function pointer" and pass it along with an allocator to
the callee.
2025-02-27 07:53:58 -08:00
Konrad `ktoso` Malawski
f55964df26 [Concurrency] Initial steps for startSynchronously for Task (#79608)
* [Concurrency] Initial steps for startSynchronously for Task

* [Concurrency] Rename to _startSynchronously while in development

* [Concurrency] StartSynchronously special executor to avoid switching

* startSynchronously bring back more info output

* [Concurrency] startSynchronously with more custom executor tests

* add missing ABI additions to test for x86

* [Concurrency] gyb generate _startSynchronously

* [Concurrency] %import dispatch for Linux startSynchronously test

* [Concurrency] Add TaskGroup.startTaskSynchronously funcs

* [Concurrency] DispatchSerialQueue does not exist on linux still
2025-02-27 02:34:33 -08:00
Doug Gregor
89d0277a35 Enable strict memory safety in the Cxx/CxxStdlib modules 2025-02-26 14:28:30 -08:00
Doug Gregor
1efb994375 Enable strict memory safety in the Synchronization module 2025-02-26 14:28:28 -08:00
Doug Gregor
d9b5a4621f Enable strict memory safety in the Distributed module 2025-02-26 14:28:26 -08:00
Doug Gregor
177d16ced8 Enable strict memory safety in the Concurrency module 2025-02-26 14:28:24 -08:00
Doug Gregor
25485858f9 Enable strict memory safety in the SwiftOnoneSupport module 2025-02-26 14:28:05 -08:00
Doug Gregor
22eecacc35 Adopt unsafe annotations throughout the standard library 2025-02-26 14:28:01 -08:00
Doug Gregor
50d3913086 [SE-0458] Enable strict memory safety in the Swift standard library 2025-02-26 14:27:55 -08:00
Alastair Houghton
6138992dfe [Backtracing] Fix a couple of Linux specific issues.
Linux gives the main thread a name based on the process name, and also
we need to tolerate an extra slash on the `<compiler-generated>` filename
for some reason.

rdar://121430255
2025-02-26 21:31:45 +00:00
Alastair Houghton
b85bf05a82 [Backtracing] Update copyright dates in boilerplate.
rdar://121430255
2025-02-26 14:12:21 +00:00
Alastair Houghton
fbab10397d [Backtracing] Use reserveCapacity to optimize escaping slightly.
We know we need at least as much space as the number of UTF-8
characters.

rdar://121430255
2025-02-26 14:12:21 +00:00
Alastair Houghton
583a2f8df4 [Backtracing] Update JSON output slightly after review.
Always put `registers` in the thread record, and always use the `threads`
top level key, even if we ask for only the crashed thread.  Also add an
`omittedThreads` key.

rdar://121430255
2025-02-26 14:12:21 +00:00
Alastair Houghton
3964879a18 [Test][Backtracing] Added tests for JSON backtrace output.
Check that we generate valid JSON crash reports.

rdar://121430255
2025-02-26 14:12:20 +00:00
Alastair Houghton
b4d4a27b85 [Backtracing] Fix JSON output when not giving backtraces for all threads.
I'd omitted the key from the dictionary by mistake.

rdar://121430255
2025-02-26 14:12:20 +00:00
Alastair Houghton
bc2722e2cc [Backtracing] Add platform and architecture to JSON output.
The JSON output should include platform and architecture data.

rdar://121430255
2025-02-26 14:12:20 +00:00
Alastair Houghton
75204522df [Backtracing] Fix memory capture output.
A couple of commas were in the wrong place.
2025-02-26 14:12:20 +00:00
Alastair Houghton
b5461aeb22 [Backtracing] Added JSON crash log option.
Also made it so the `sanitize` option causes the crash logs to not
include memory dumps.

Fixes #71057
rdar://121430255
2025-02-26 14:12:17 +00:00
Ben Rimmington
4bb3cf1496 [stdlib] Update WordPair: Comparable conformance (#79606) 2025-02-25 10:17:05 -08:00
Alastair Houghton
4c0e141ccc Merge pull request #79390 from al45tair/eng/PR-144497613
[Backtracing] Add warning suppression option, enable it for tests.
2025-02-25 17:51:28 +00:00
Dario Rexin
ec995e500f [Runtime] Add ccAttrs to slow path in compatibility overrides
rdar://145523626

This was accidentally dropped when introducing the slow path, which causes CC mismatches for functions
using custom CC.
2025-02-24 17:31:27 -08:00
Anthony Latsis
e0cf5a50b6 Merge pull request #77639 from honghoker/fix/typo
Fix missing whitespace in Swift special comments
2025-02-24 22:08:34 +00:00
Alastair Houghton
0bc76dae80 [Backtracing] Add warning suppression option, enable it for tests.
The backtracing code will warn you if you attempt to forcibly enable
backtracing for a privileged executable.  This is apparently upsetting
the Driver/filelists.swift test.

Since we want to force it on for tests, so that we will definitely get
backtraces, add an option to suppress warning messages, and turn that
on for tests as well.

rdar://144497613
2025-02-24 12:55:16 +00:00
Konrad `ktoso` Malawski
09003d6f11 Revert "Merge pull request #77609 from ktoso/wip-task-names" (#79562)
This reverts commit 4ab5d2604f.
2025-02-23 22:59:21 -08:00
Saleem Abdulrasool
53b34604d0 Merge pull request #79553 from compnerd/pretty-special
runtime: adjust the program name reference
2025-02-23 20:23:07 -08:00
Allan Shortlidge
972bc1898b swift-backtrace: Fix a timespec initialization warning.
NFC.
2025-02-22 12:09:23 -08:00
Allan Shortlidge
73b301d369 Concurrency: Fix variable was never mutated warnings and indentation.
NFC.
2025-02-22 12:09:23 -08:00
Saleem Abdulrasool
10c804b0bb runtime: adjust the program name reference
`__progname` is not available on Windows, and is provided by libbsd on
Linux. This provides a replacement for the functional aspect of the
symbol on Windows.
2025-02-22 07:14:26 -08:00
Saleem Abdulrasool
8337815a10 Merge pull request #79539 from compnerd/sdk-overlay
Windows; improve SDK overlay for WinSDK
2025-02-21 14:41:18 -08:00
Alex Martini
f89472ed1a Merge pull request #79410 from amartini51/error_kind_41136833
Remove redundant word "error" from type name

Fixes: rdar://41136833
2025-02-21 10:40:12 -08:00
Saleem Abdulrasool
f1d973b410 Windows: mark some constants as @inlinable
These constants should be freely inlined as they are simply casts or
redeclarations of macros which are not importable due to the "complex"
nature of them (they involve casts or otherwise non-integral constants).
2025-02-21 09:31:36 -08:00
Saleem Abdulrasool
fe2f410fb8 Windows: excise bits of WinSDK overlay
Conditionalise some of the conformances of `WindowsBool` to not be
available without reflection or on embedded. This matches how
`DarwinBoolean` is handled.
2025-02-21 09:31:36 -08:00
Saleem Abdulrasool
e4388c1597 Windows: adjust Swift style in WinSDK (NFC)
This cleans up the style to match Swift's style.
2025-02-21 09:31:36 -08:00
Konrad `ktoso` Malawski
4ab5d2604f Merge pull request #77609 from ktoso/wip-task-names
[Concurrency] Task names
2025-02-21 22:28:33 +09:00
Jaap Wijnen
84c30b5c86 mark move @inlinable to better signal intent (#78944)
Co-authored-by: Jaap Wijnen <jaap@passivelogic.com>
2025-02-20 15:03:36 -08:00
Jaap Wijnen
bd4730fdf2 Mark Differentiation related FloatingPoint methods with @inlinable for more optimization opportunities (#78806)
Co-authored-by: Jaap Wijnen <jaap@passivelogic.com>
2025-02-20 15:03:07 -08:00
Anton Korobeynikov
5a29c92ac3 Make Optional<T>.TangentVector methods inlineable (#78796) 2025-02-20 15:02:27 -08:00
Pavel Yaskevich
7484f01f8e Merge pull request #79504 from xedin/execution-caller-mangling
[Mangling] Mangle presence of `@execution(caller)` in a function type
2025-02-20 14:01:26 -08:00
honghoker
7e30a91e47 fix: add missing whitespace in MARK comment 2025-02-20 21:57:08 +09:00
Konrad `ktoso` Malawski
e8668684a1 Merge pull request #79411 from amartini51/typo_144059094
Remove double word ("a a" and "the the")
2025-02-20 13:05:06 +09:00
Kuba (Brecka) Mracek
7e4398079b Merge pull request #79451 from kubamracek/shims-include-target-h
[SwiftShims] Include Target.h in the modulemap for SwiftShims
2025-02-19 18:11:51 -08:00
Pavel Yaskevich
1067ead82c [Mangling] Mangle presence of @execution(caller) in a function type
If `@execution(caller)` attribute is present on a function type,
mark its presence in the mangling with `YC` suffix.
2025-02-19 16:48:41 -08:00
Mike Ash
f9bdb45583 Merge pull request #79303 from mikeash/fix-overrides-warning
[Compatibility50] Silence warning about taking the address of objc_setHook_getClass.
2025-02-19 16:19:47 -05:00
Mike Ash
44ff7e59c6 Merge pull request #78817 from mikeash/fix-supersleep
[Concurrency] Fix Task.sleep on values greater than Int64.max.
2025-02-18 21:07:05 -05:00
Kuba Mracek
54a0be3509 [SwiftShims] Include Target.h in the modulemap for SwiftShims 2025-02-17 17:13:14 -08:00
Alejandro Alonso
ff58dc6739 Use other feature syntax 2025-02-17 14:50:42 -08:00