Commit Graph

7802 Commits

Author SHA1 Message Date
Guillaume Lessard
f2dcb2f058 [stdlib] convert withUnsafeBytes() to typed throws 2024-03-05 02:10:38 -08:00
Guillaume Lessard
8c0db3fe7e Merge pull request #72075 from Catfish-Man/this-pointer-is-raw
Make UnsafeRawBufferPointer.loadUnaligned inlinable to match other pointer load methods
2024-03-04 23:57:21 -08:00
David Smith
753a9408c2 ASCII fast paths for grapheme stride (#72064) 2024-03-04 22:03:58 -08:00
Nate Chandler
621d4c19b2 [stdlib] Suppress Unicode : _BitwiseCopyable.
Mark it always unavailable per LWG feedback.
2024-03-04 16:25:53 -08:00
Nate Chandler
4472178eca [stdlib] Suppress CommandLine : _BitwiseCopyable.
Mark it always unavailable per LWG feedback.
2024-03-04 16:17:06 -08:00
Nate Chandler
fefab495cb [stdlib] Suppress MemoryLayout : _BitwiseCopyable.
Mark it always unavailable per LWG feedback.
2024-03-04 16:04:12 -08:00
David Smith
df8485fe87 Make UnsafeRawBufferPointer.loadUnaligned inlinable to match other pointer load methods 2024-03-04 16:00:15 -08:00
Guillaume Lessard
7cbe2cf4ae Merge pull request #72036 from glessard/rawpointer-withmemoryrebound-typed-throws
[stdlib] convert `U[M]R[B]P.withMemoryRebound()` to typed throws
2024-03-02 13:00:59 -08:00
Guillaume Lessard
6befe66181 [stdlib] convert U[M]R[B]P.withMemoryRebound() to typed throws 2024-03-01 19:07:46 -08:00
Oscar Byström Ericsson
7703ae4a3b FlattenSequence/distance(from:to:) untrapping Int.min (v5).
1. FlattenSequence/distance(from:to:) cleanup.
2. FlattenDistanceFromToTests cleanup.
3. FlattenDistanceFromToTests availability checks.
2024-03-01 11:11:54 +01:00
Holly Borla
ad864615bf Merge pull request #71967 from hborla/sendable-documentation
[NFC][Concurrency] Improve the summary documentation for `Sendable`.
2024-02-29 22:38:14 -08:00
Holly Borla
ae8c8a3479 [NFC][Concurrency] Improve the summary documentation for Sendable. 2024-02-29 18:46:55 -08:00
Lucy Satheesan
f4920875a6 [stdlib] performance optimizations in Array.replaceSubrange (#66160) 2024-02-29 18:01:42 -08:00
Karoy Lorentey
16240a1342 [stdlib] Do not introduce any new ABI symbols for _get*RetainCount 2024-02-27 13:18:28 -08:00
Oscar Byström Ericsson
e8db705e43 FlattenSequence/distance(from:to:) untrapping Int.min (v2).
A better, albeit a bit more verbose, method.
2024-02-27 11:51:08 +01:00
Oscar Byström Ericsson
401f8d13fe FlattenSequence/distance(from:to:) untrapping Int.min
This patch makes it so FlattenSequence/distance(from:to:) can return Int.min without trapping.
2024-02-27 07:14:46 +01:00
Guillaume Lessard
12010d63b5 Merge pull request #71871 from amomchilov/grammar-fix-seq-strart-with
Fix grammar in `starts(with:)` docs
2024-02-26 12:23:54 -08:00
Guillaume Lessard
321e40e701 Merge pull request #71648 from oscbyspro/better-joined-distance-from-to
FlattenSequence/distance(from:to:) enhancements.
2024-02-26 04:21:34 -08:00
Alexander Momchilov
123fd36efb "a equivalence" → "an equivalence" 2024-02-24 19:32:50 -05:00
Dave Lee
557628cd08 [Debugging] Use SWIFT_NATIVE_SWIFT_TOOLS_PATH if defined (#71814)
Fixes cross-host builds. See https://github.com/apple/swift/pull/71425/files#r1498582734
2024-02-23 14:19:17 -08:00
Dave Lee
41add6df9f [Debugging] Disable use of DebugDescriptionMacro when bootstrapping is off (#71820) 2024-02-22 16:21:24 -08:00
Allan Shortlidge
2a03207e54 Merge pull request #71802 from tshortli/typed-throws-in-inlinable-code
stdlib: Avoid condfails resulting from typed throws adoption
2024-02-22 14:03:26 -08:00
Mishal Shah
cb96ec2893 Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6 2024-02-22 09:44:44 -08:00
Allan Shortlidge
25c0ed6008 stdlib: Avoid condfails resulting from typed throws adoption.
The standard library's swiftinterface must temporarily remain buildable when
`$TypedThrows` evaluates to false since there are still supported Swift 5.11
compilers that did not have the feature enabled by default. Declarations using
typed throws in their signatures are guarded in printed swiftinterface files
with `#if $TypedThrows` and therefore `@inlinable` code that uses those
declarations must also be conditionalized on `$TypedThrows`.
2024-02-21 20:38:39 -08:00
Guillaume Lessard
e90df7ef47 Merge pull request #71199 from glessard/utf8-license-header
[gardening] add a missing license header
2024-02-21 16:05:15 -08:00
Mishal Shah
b8cd763b21 Merge branch 'main' into bump-swift-version-to-6 2024-02-21 12:40:54 -08:00
Joe Groff
ce0a04393c Revert "Switch to malloc_good_size instead of malloc_size (#70532)"
This reverts commit 0843891eb9.
2024-02-21 10:26:37 -08:00
Dave Lee
5b35938e5b [Debug] Introduce use of DebugDescription macro in stdlib (#71425)
Introduces the first use of `@_DebugDescription` in the standard library, applying it 
to `ObjectIdentifier`. In order to use the DebugDescription macro in the stdlib, the 
following changes are required:

1. Compilation must reference the just built macros (ie `libSwiftMacros.dylib`), not 
those from the SDK. This is addressed by adding an explicit `-external-plugin-path` 
flag that overrides the defaults generated by the compiler (which uses SDK paths, where 
the macro may or may not exist, and may not be the current version).
2. As DebugDescription uses `@_section`, compilation enables the `SymbolLinkageMarkers` 
feature.

Note that the use of DebugDescription is conditionally enabled for the following 
reasons:

1. Use is disabled in freestanding builds, where the stdlib macros are not built.
2. Use is temporarily disabled in Linux builds due to a dynamic loader issue that needs 
further investigation

The dynamic loader error causing issues with Linux CI is:
> swift-plugin-server: error while loading shared libraries: libswiftGlibc.so: cannot 
open shared object file: No such file or directory

This PR depended on #71639, #71588, and #71685.
2024-02-21 09:17:10 -08:00
Oscar Byström Ericsson
9abed8c833 FlattenSequence/distance(from:to:) enhancements v3.
A half-open range is a better expression of intent.
2024-02-21 09:59:54 +01:00
David Smith
f1feba0e42 Eytzingerize word break data (#71731)
Switch word break property searching to Eytzinger binary search
2024-02-20 22:49:34 -08:00
Mishal Shah
b488702cc9 Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6 2024-02-20 21:04:47 -08:00
Mishal Shah
96d61d3c5c Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6 2024-02-20 14:31:55 -08:00
Dave Lee
b79c4ded76 [Debugging] Expand DebugDescriptionMacro docstring (#71700)
Describe more details of `DebugDescriptionMacro`.
2024-02-20 10:28:31 -08:00
nate-chandler
3fa784920c Merge pull request #71736 from nate-chandler/add-missing-flag
Add missing guard around new builtin.
2024-02-19 23:06:56 -08:00
Mishal Shah
af112c1591 Update the Swift version to 6.0 from 5.11 2024-02-19 17:47:16 -08:00
Nate Chandler
1906b28f2b Add missing guard around new builtin.
Avoid a condfail.
2024-02-19 16:04:29 -08:00
Alejandro Alonso
1f4bdd4bc9 Merge pull request #71481 from Azoy/fast-nfc-check-fix
[stdlib] Do a fast NFC check over the slice instead of guts
2024-02-19 15:19:08 -08:00
David Smith
ea7d07714f Switch grapheme break property searching to Eytzinger binary search (#71668) 2024-02-16 16:06:20 -08:00
Oscar Byström Ericsson
e7b9fbbe12 FlattenSequence/distance(from:to:) enhancements v2.
1. The unchecked and force-unwrapped stuff did not matter.
2. Calling distance(from:to:) is a bit faster than SubSequence/count.
2024-02-16 11:41:10 +01:00
Nate Chandler
60d7ff80c7 [stdlib] Used storeRaw for constrained storeBytes.
Implement the overload of storeBytes where value is constrained to
BitwiseCopyable via Builtin.storeRaw.
2024-02-15 18:05:16 -08:00
Oscar Byström Ericsson
11c0231d20 FlattenSequence/distance(from:to:) enhancements.
I was looking through Swift's issues tab and found this issue (#57496), which points out the poor performance of `FlattenSequence/count`. The current `count` implementation calls `distance(from:to:)`, which iterates through the entire collection, so I thought I'd improve that method. The new version computes the distance as the sum of three parts, with a fast path when both indices belong to the same underlying collection. Note that it does this by calling either `count` or `distance(from:to:)` on each underlying collection, which makes `[repeatElement(0, count: Int.max)].joined().count` instant, for example.
2024-02-15 12:45:42 +01:00
Nate Chandler
5a2d1621ec [KeyPath] Restrict push and pop to BitwiseCopyable
Promotes the runtime isPOD check to a compile time constraint.
2024-02-14 13:02:09 -08:00
Nate Chandler
134fc4dfdd [stdlib] BitwiseCopyable storeBytes overload.
The new overload is constrained to BitwiseCopyable and so enjoys the use
of BitwiseCopyableArchetypeTypeInfo.
2024-02-14 13:02:09 -08:00
Erik Eckstein
75e2f363a0 embedded stdlib: make the ManagedBuffer initializer public in the embedded stdlib
Otherwise derived classes cannot be specialized.

Fixes a compile time error when using ManagedBuffer in embedded mode.
rdar://122414669
2024-02-14 09:51:43 +01:00
Alejandro Alonso
aadf4a13a2 Do a fast NFC check over the slice instead of guts 2024-02-08 10:50:03 -08:00
Alejandro Alonso
3923e2e621 Merge pull request #71443 from Azoy/fix-specialize-function
[stdlib] Fix _specialize implementation
2024-02-07 15:46:38 -08:00
Guillaume Lessard
71640be109 Merge pull request #71363 from glessard/rdar115296219
[stdlib] properly rename validatingUTF8 to validatingCString
2024-02-07 14:37:23 -08:00
Alejandro Alonso
71fccd1696 Fix _specialize implementation 2024-02-07 11:58:57 -08:00
Doug Gregor
e4d6bee153 Merge pull request #71400 from DougGregor/will-throw-typed
Implement `swift_willThrow` variant for typed throws.
2024-02-06 03:22:22 -08:00
Kuba (Brecka) Mracek
ea6295e47f Merge pull request #71392 from kubamracek/revert-embedded-defines
Revert "Merge pull request #71278 from kubamracek/embedded-no-mach-defines"
2024-02-05 17:48:40 -08:00