Jonathan Grynspan
83d82a5af5
swift_slowAlloc() assumes malloc(0) returns non-NULL. (#86922 )
...
`swift_slowAlloc()` and related functions assume that `malloc(0)` and `aligned_alloc(0)` return non-`NULL` pointers. The C standards allow implementations to return `NULL` when the allocation size is `0`.
This PR implements a check for `0` that instead allocates `1`. The cost of the check is negligible next to the cost of actually allocating, but we'll mark it `SWIFT_UNLIKELY` just in case.
Resolves rdar://169304909.
2026-02-05 21:44:47 -08:00
Henrik G. Olsson
52557857a2
Merge pull request #86520 from ramonasuncion/fix-mirror-if-sub-lit
...
[Test][stdlib] Migrate Mirror test from shell if to lit %if
2026-01-30 12:48:31 -08:00
Ramon Asuncion
5407531793
[Test][stdlib] Remove REQUIRES shell directive from MirrorWithPacks
2026-01-29 21:57:26 -05:00
Ramon Asuncion
e44362c7c2
[Test][stdlib] Minimize diff for lit %if migration in Mirror tests
2026-01-29 13:27:41 -05:00
Ramon Asuncion
08e63326ec
[Test][stdlib] Use objc_interop instead of OS_FAMILY=darwin in Mirror tests
2026-01-29 13:05:02 -05:00
Guillaume Lessard
881d5078ba
[test] fix [Mutable]Span.withUnsafe[Mutable]BufferPointer
2026-01-28 15:51:06 -08:00
Guillaume Lessard
5682ba3d28
[test] OutputSpan.wUMBP
2026-01-28 14:47:36 -08:00
eeckstein
be5e89a9bb
Merge pull request #86702 from eeckstein/mandatory-inliner
...
Optimizer: fix a few problems where destroys are illegally hoisted across deinit barriers
2026-01-23 20:35:31 +01:00
Guillaume Lessard
8f1f7ddbec
Merge pull request #86718 from glessard/rdar168561707-outputrawspan-storeBytes-safety
...
[stdlib] mark `OutputRawSpan.storeBytes()` with `@unsafe`
2026-01-23 11:14:22 -08:00
Guillaume Lessard
f2a3a1ae9d
Merge pull request #86726 from glessard/rdar166692988-another-utf8span-testfix
...
[test] adjust test for watchOS compatibility
2026-01-23 11:13:51 -08:00
Erik Eckstein
172bf39901
Optimizer: let OSSA canonicalization always respect deinit barriers
...
When computing the region to search for deinit barriers, include _all_ destroys of a canonical liverange - including destroys of all copies.
Before this fix, only destroys of the original def were considered which resulted in moving destroys across deinit barriers.
Fixes a miscompile
rdar://168337959
2026-01-23 10:08:41 +01:00
Guillaume Lessard
c403bc97d3
[test] adjust test for watchOS compatibility
2026-01-22 15:00:12 -08:00
Guillaume Lessard
c0d164bc2e
[test] modify test for strict memory safety
2026-01-21 17:43:29 -08:00
Guillaume Lessard
56f11c1dbd
Merge pull request #86571 from glessard/rdar155660454-array-plus-outputspan-followups
...
[stdlib] followup to #83657
2026-01-20 15:50:31 -08:00
Tim Kientzle
6d833676b6
Merge pull request #86490 from tbkka/tbkka-overeager-hexfloat-underflow
...
FP Parsing: Fix over-eager underflow check
2026-01-15 19:54:00 -08:00
Guillaume Lessard
482cebc9a5
[test] explicitly test invalid negative parameter values
2026-01-14 16:53:37 -08:00
Guillaume Lessard
e334d9c1de
Merge pull request #83657 from glessard/rdar155660454-array-plus-outputspan
...
[stdlib, SE-0485] Array functions with OutputSpan
2026-01-14 14:30:05 -08:00
Guillaume Lessard
58b0e565f0
[stdlib] preserve items appended until a thrown error
2026-01-13 15:00:49 -08:00
Ramon Asuncion
c52265068c
[Test][stdlib] Use OS_FAMILY=darwin instead of OS=darwin
2026-01-13 10:33:53 -05:00
Ramon Asuncion
b6826bbdb9
[Test][stdlib] Migrate Mirror test from shell if to lit %if
2026-01-13 10:15:37 -05:00
Tim Kientzle
bd67f95305
FP Parsing: Fix over-eager underflow check
...
An early check for underflow was a bit too aggressive, resulting in values that
would otherwise round up to the smallest subnormal failing to go through the
regular rounding logic.
Resolves #86462
Resolves rdar://167942063
2026-01-12 11:52:31 -08:00
Guillaume Lessard
be9708a547
Merge pull request #86435 from glessard/rdar165001871-span-withUBP-empty
...
[stdlib] simplify span-family `withUnsafe...` implementations
2026-01-10 11:22:26 -08:00
Guillaume Lessard
ad8dec0e16
[test] update test expectations
2026-01-09 18:21:18 -08:00
Tim Kientzle
e38d5ff0c3
Merge pull request #86263 from tbkka/tbkka-float-parsing-old-os
...
Disable these tests on older macOS versions
2026-01-03 14:06:22 -08:00
Alejandro Alonso
8909023c90
Merge pull request #86067 from Azoy/unicode-17
...
[stdlib] Update to Unicode 17
2026-01-03 16:54:02 -05:00
Tim Kientzle
3495493627
Disable these tests on older macOS versions
...
These tests exercise known bugs in older Swift versions,
and as such are expected to fail when run on old versions of
macOS with bundled Swift stdlib.
Resolves: rdar://166985147
2026-01-02 10:06:11 -08:00
Guillaume Lessard
6b0c233042
[stdlib] simplifications
2025-12-27 19:05:15 -08:00
Guillaume Lessard
aed35825f9
[test] OutputSpan-mediated init() and append() functions
2025-12-27 19:05:15 -08:00
Tim Kientzle
5c2f51e0f6
Merge pull request #86018 from tbkka/tbkka-float-parsing-substring
...
New FP Parsing: Use relevant part of a substring
2025-12-20 04:38:13 -08:00
Pavel Yaskevich
fdcff3a962
Merge pull request #86134 from xedin/rdar-157249275
...
[CSDiagnostics] Produce a tailored diagnostic for key path mutability mismatches
2025-12-19 22:17:19 -08:00
Pavel Yaskevich
b1ccdc30c4
[CSSimplify] Match root/value of a key path even when superclass check fails
...
This helps to propagate types bi-directionally and avoid extraneous
failures related to generic parameter inference when the real issue
is mutability or type erasure.
2025-12-18 16:39:16 -08:00
Tim Kientzle
889dd290f8
Break out bridging to a separate test source file
2025-12-17 17:15:34 -08:00
Tim Kientzle
13529d01b2
Comment out Bridged tests that cannot run on Linux
2025-12-17 17:12:34 -08:00
Tim Kientzle
5d3e17ae5f
Test short and long bridged strings
...
Simplify the top-level initializer by using `Substring.withUTF8`
to get a correct span over contiguous UTF8.
2025-12-17 16:50:02 -08:00
Tim Kientzle
46311986f7
Use the correct portion of a substring
2025-12-17 16:50:02 -08:00
Karoy Lorentey
05d4565146
Merge pull request #82438 from vanvoorden/array-identical
...
[SE-0494][StdLib] Add `isTriviallyIdentical(to:)` Methods to Array, ArraySlice, and ContiguousArray
2025-12-17 13:54:30 -08:00
Ben Cohen
5ac2d2497a
Allow Comparable: ~Escapable ( #85891 )
...
Builds on #85854
2025-12-16 10:17:58 -08:00
Alejandro Alonso
39906adfe2
Update Unicode data to 17 for generators
...
more updates
more
2025-12-15 12:21:03 -08:00
Tim Kientzle
e75a8c03e7
Fix parsing issues on 32-bit hosts
...
These were mostly bugs with code of the following form:
```
if uint64Value < (... literal expression ...)
```
Swift's comparison operators allow their left- and right-hand sides to be of
different widths. This in turn means that the literal expression above
typically gets typechecked by default as a plain `Int` or `UInt` expression.
In a number of cases, this led to truncation on platforms where `Int` is
not 64 bits.
In particular, this seems to fix tests on wasm32.
2025-12-12 07:16:59 -08:00
Karoy Lorentey
a233485029
Merge pull request #82055 from vanvoorden/string-identical
...
[SE-0494][StdLib] Add `isTriviallyIdentical(to:)` Methods to String and Substring
2025-12-11 15:55:11 -08:00
Ben Cohen
9dd9e96e1d
Allow Hashable: ~Copyable ( #85748 )
...
Builds on #85746 which covers Equatable.
2025-12-11 14:47:36 -08:00
Guillaume Lessard
e293876e4f
Merge pull request #85597 from glessard/substring-test-tweaks
2025-12-10 14:09:13 -08:00
Tim Kientzle
efdd00892c
Merge pull request #85797 from tbkka/tbkka-float-parsing
...
Reimplement Floating-Point Parsing in pure Swift
2025-12-10 18:42:41 +00:00
Tim Kientzle
313c4a6e77
Do not bother trying to run this test on watchOS
2025-12-10 09:06:53 +00:00
Tim Kientzle
3670162137
Disable unsupported configuration
2025-12-09 15:42:14 +00:00
Tim Kientzle
a6e3f5535c
Disable some unsupported test combinations
2025-12-09 09:31:24 +00:00
Ben Rimmington
b27c90b8b8
[SE-0494] isTriviallyIdentical(to:) [memory regions] ( #84998 )
...
Add `isTriviallyIdentical(to:)` methods to:
* `Span`
* `RawSpan`
* `UTF8Span`
* `UnsafeBufferPointer`
* `UnsafeMutableBufferPointer`
* `UnsafeRawBufferPointer`
* `UnsafeMutableRawBufferPointer`
Part of issue swiftlang/swift#84991 .
2025-12-08 19:32:26 -08:00
Rick van Voorden
048091d6f2
[stdlib] array identical
...
Co-Authored-By: Ben Rimmington <me@benrimmington.com >
2025-12-08 17:39:01 -08:00
Karoy Lorentey
4cde919950
[stdlib] Update availability of String view additions
2025-12-08 17:32:20 -08:00
WindowsMEMZ
8055d91316
Update tests for availability checking
2025-12-08 17:32:19 -08:00