Commit Graph

21434 Commits

Author SHA1 Message Date
Kuba Mracek
9581e92589 [embedded] Make sure to install the embedded Concurrency .a libraries into the toolchain 2023-12-08 21:38:33 -08:00
Rokhini Prabhu
ffd1ad2286 Convert use of std::mutex in task groups to use Mutex from threading package
Radar-Id: rdar://problem/119415891
2023-12-08 20:17:52 -08:00
Dave Lee
ad585b3195 [Debug] Add _DebugDescription macro (#69626)
Implementation of the DebugDescription macro pitched on the forums: 
https://forums.swift.org/t/pitch-debug-description-macro/67711. In this initial commit, 
the macro is named `_DebugDescription` to indicate it's internal use at this time, 
pending Swift Evolution.

rdar://115180949
2023-12-08 15:19:16 -08:00
Alastair Houghton
c9abb0bc61 [Backtracing] Improve warning message about thread suspension failure.
In the event that the backtracer fails to suspend a thread, it emits a
warning message.  Unfortunately the exact meaning of this message isn't
obvious and it doesn't make clear that it's a secondary problem (that is,
you've already crashed at this point).

Update the message to make things clearer.

rdar://116593541
2023-12-08 13:53:38 +00:00
Saleem Abdulrasool
43d8c37f81 Merge pull request #70235 from compnerd/deprecated
SwiftShims: silence a deprecation warning on Windows
2023-12-07 09:55:27 -08:00
Mike Ash
95eaeafa15 Merge pull request #70284 from kubamracek/embedded-darwin-bad
[embedded] Disable building Darwin as embedded, unbreak the build and CI
2023-12-06 20:27:15 -05:00
Kuba Mracek
2796e150fe [embedded] Disable building Darwin as embedded, unbreak the build and CI 2023-12-06 17:11:23 -08:00
Stephen Canon
d66f233839 Add concrete overload for != on all stdlib integer types. (#70043)
* Add concrete overload for  on all stdlib integer types.

* Add very basic tests for type inference of comparands.

* Add a comment explaining why these overloads are present.
2023-12-06 16:40:16 -05:00
nate-chandler
684739e3ec Merge pull request #70248 from nate-chandler/rdar96956089
[stdlib] BitwiseCopyable loadUnaligned overloads.
2023-12-06 12:13:38 -08:00
Eric Miotto
4ab800e1a4 CMake: allow to build embedded stdlib in a standalone preset (#70238)
This would be needed to support Apple internal configurations.

Addresses rdar://119192035
2023-12-06 08:35:02 -08:00
Nate Chandler
b7f5171b83 [stdlib] BitwiseCopyable loadUnaligned overloads.
The new overloads will make use the new BitwiseCopyableArchetypeTypeInfo
to avoid the extra copy that is currently done.
2023-12-05 17:21:05 -08:00
Daniel Rodríguez Troitiño
f0594a4190 [embedded] Make embedded target triples conditional on LLVM support (#70218)
LLVM might not be build with support for all architectures to save time.
The changes in this commit check the value of LLVM_TARGETS_TO_BUILD
provided by LLVMConfig.cmake to add or skip the different embedded
targets if LLVM happens to not build with support for that target.

While x86_64 and ARM/AArch64 are very common in `LLVM_TARGETS_TO_BUILD`,
targets like RISCV are more specialized and might not be always enabled.

This is not a problem for builds using the `build-script` because of the
changes introduced in #70057, but it is still a problem for other builds
that do not use `build-script`. This solution should work for any build.
2023-12-05 12:39:04 -08:00
Saleem Abdulrasool
6f9a28921a SwiftShims: silence a deprecation warning on Windows
Silence a deprecation warning on Windows by using the Microsoft
extension.
2023-12-05 07:51:20 -08:00
Egor Zhdan
c39c8da4db [cxx-interop] Use APINotes to apply import_owned attr to std::string and std::vector
This removes a special case in the compiler for these types, and applies the `import_owned` attribute to all instantiations of `vector` and `basic_string` via API Notes.
2023-12-04 19:54:17 +00:00
Saleem Abdulrasool
203cace27f Platform: remove cplusplus requirement on XAudio29
The header is usable without C++ interop.  This should make it easier to
use the module in many cases.
2023-12-03 18:58:41 -08:00
Kavon Farvardin
b6c7ff4140 Merge pull request #70142 from kavon/ncgenerics-stdlib-workarounds
[stdlib] add missing `Element` type witnesses
2023-12-01 10:47:05 -08:00
Mike Ash
f705a69b90 Merge pull request #70156 from mikeash/fix-findBridgeWitness
[Runtime] Fix findBridgeWitness when building for the shared cache.
2023-12-01 13:23:59 -05:00
nate-chandler
54a152f284 Merge pull request #69938 from nate-chandler/rdar96919870/1/bitwise-copyable-protocol
[BitwiseCopyable] Add a marker protocol.
2023-12-01 06:57:11 -08:00
Mike Ash
3716df4ca5 [Runtime] Fix findBridgeWitness when building for the shared cache.
The static bridgeableProtocol inherits the ptrauth_struct attribute which uses the B key, and that's not allowed on global data in the shared cache. Pass the value directly as a parameter instead.
2023-12-01 09:40:25 -05:00
Kuba (Brecka) Mracek
ea499a5bdb Merge pull request #70055 from kubamracek/embedded-darwin
[embedded] Port and start building Darwin.swiftmodule as embedded
2023-11-30 17:47:55 -08:00
Nate Chandler
b266abe5c0 [BitwiseCopyable] Add a marker protocol.
Behind the experimental feature BitwiseCopyable.
2023-11-30 15:25:46 -08:00
Kavon Farvardin
4096ca39b2 [stdlib] add missing Element type witnesses
With `NoncopyableGenerics` enabled, we currently lose some ability for
associatedtype inference to find a suitable type witness based on a
value witness. (rdar://118998138)

The stdlib accidentally uses that inference for Sequence.Element,
due to the default witness for `_customContainsEquatableElement`
mentioning `Iterator.Element` whereas the requirement only states
`Element`.
2023-11-30 15:05:20 -08:00
nate-chandler
1c0971e719 Merge pull request #70099 from nate-chandler/gardening/20231129/1
[Gardening] Fix typo.
2023-11-29 16:59:09 -08:00
Nate Chandler
3817af3067 [Gardening] Fix typo.
Replaced homophone of presence ("presents", i.e. 🎁🎁, 🖥️, etc.) with
the word itself.
2023-11-29 12:52:35 -08:00
Kuba (Brecka) Mracek
52d438c1de Merge pull request #70064 from kubamracek/embedded-linux2
[embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets, take 2
2023-11-29 09:28:40 -08:00
Egor Zhdan
d5ef460aef Merge pull request #70070 from apple/egorzhdan/overlay-use-new-flag
[cxx-interop] Migrate to overlay the new compiler flag
2023-11-29 16:32:40 +01:00
Alastair Houghton
dfea14af45 Merge pull request #69913 from finagolfin/arm
[Backtracing][Android] Fix armv7 build
2023-11-29 14:07:26 +00:00
Kuba Mracek
7c84cdb83f [embedded] Start installing embedded Concurrency and Darwin modules into the toolchain 2023-11-28 16:18:10 -08:00
Egor Zhdan
e144f607d7 [cxx-interop] Migrate to overlay the new compiler flag
`-enable-experimental-cxx-interop` is deprecated, the new flag for enabling C++ interop is `-cxx-interoperability-mode=enabled`.

NFC intended.
2023-11-28 20:30:12 +00:00
Kuba Mracek
a0ec73ef42 [embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets, take 2 2023-11-28 10:31:39 -08:00
Angela Laar
55b82e9de5 Merge pull request #70058 from apple/revert-69973-embedded-linux
Revert "[embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets"
2023-11-28 09:30:06 -08:00
Konrad `ktoso` Malawski
c468479b86 docs: improve withTaskCancellationHandler docs (#70035)
* docs: improve withTaskCancellationHandler docs

* prefer using non-deprecated withCancHandler method

* Apply suggestions from code review

Co-authored-by: Alex Martini <amartini@apple.com>

---------

Co-authored-by: Alex Martini <amartini@apple.com>
2023-11-28 04:46:42 -08:00
Doug Gregor
130adac5c5 Revert "[embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets" 2023-11-27 22:20:54 -08:00
Kuba Mracek
fa7da75cdc [embedded] Port and start building Darwin.swiftmodule as embedded 2023-11-27 20:16:58 -08:00
Kuba (Brecka) Mracek
f7c5831830 Merge pull request #69973 from kubamracek/embedded-linux
[embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets
2023-11-27 13:22:27 -08:00
Dario Rexin
011fce8212 [Runtime] Fix leak of bridge objects in swift_generic_initWithTake (#69977)
rdar://118606044

The initWithTakeTable accidentally referenced bridgeRetain instead of copyingInitWithTake, which caused a leak when an object containing a bridge reference was also not bitwise takable.
2023-11-27 08:04:10 -08:00
Dario Rexin
506fbb3c91 [Runtime] Fix alignment of tuples in runtime layout string instantiation (#69975)
rdar://118366415

If a tuple was not already aligned, this would cause a wrong offset to be used in the layout string.
2023-11-27 08:03:38 -08:00
Max Desiatov
bfbc0debc9 [NFC] stdlib: fix use of __owned in deprecation messages (#69995)
`consuming` is the actual parameter ownership modifier used in the non-deprecated declaration.
2023-11-27 09:40:04 +00:00
Konrad `ktoso` Malawski
f58a46fece Merge pull request #69671 from Jager-yoo/typos-concurrency 2023-11-27 13:38:23 +09:00
Kuba Mracek
a69e6f9374 [embedded] Avoid passing -D__APPLE__ on Linux builds 2023-11-17 21:35:59 -08:00
Kuba Mracek
971ad79f37 [embedded] Start building embedded support on Linux/ELF, expand archs of the embedded stdlib to cover common embedded targets 2023-11-17 21:30:12 -08:00
Rintaro Ishizaki
f327bf7616 [CMake] Correct dependencies
HeaderDependencies.cpp and the stdlib filelist didn't have dependencies.
That causes issues when the content is changed.
2023-11-16 13:54:14 -08:00
Doug Gregor
3baf6ac31a Revert "[Typed throws] Support overrides that are contravariant in the thrown error" 2023-11-16 10:40:23 -08:00
Doug Gregor
975519b7b4 Merge pull request #69839 from DougGregor/typed-throws-override
[Typed throws] Support overrides that are contravariant in the thrown error
2023-11-16 09:53:32 -08:00
Konrad `ktoso` Malawski
ade2671aee Merge pull request #69910 from Achoo-kr/main 2023-11-17 00:52:29 +09:00
Finagolfin
d9d6356f3b [Backtracing][Android] Fix armv7 build 2023-11-16 20:26:09 +05:30
Choo Hyun Ho
630d4306b5 correct typos in Concurrency/Task.swift 2023-11-16 20:45:20 +09:00
Choo Hyun Ho
36e01c23ae stdlib/Concurrency/PartialAsyncTask.swift: Correct typos (#69880) 2023-11-15 07:01:57 -08:00
Alastair Houghton
b693cce3b8 Merge pull request #69859 from al45tair/eng/PR-118402226
[Backtracing] Fix ARM64e build failure.
2023-11-15 11:14:13 +00:00
Choo Hyun Ho
4100b6aeb8 correct typos 2023-11-15 19:48:58 +09:00