Commit Graph

3245 Commits

Author SHA1 Message Date
Alejandro Alonso
aa3fd951d2 Merge pull request #64731 from Azoy/update-unicode-15
[stdlib] Update the stdlib to use Unicode 15 data
2023-03-29 22:49:38 -07:00
Alejandro Alonso
f16f0c3c23 Update the stdlib to use Unicode 15 data 2023-03-29 10:18:16 -07:00
Kavon Farvardin
2be061cb06 explicitly enable MoveOnly feature for some stdlib tests
We ran into an issue on minimal stdlib build configurations, because they
pull slightly older toolchains to build and test the stdlib. Adding this flag
doesn't hurt anything and just ensures things will work with older compilers.
But it is not needed and should eventually be safe to remove.

part of resolving rdar://106849189
2023-03-24 16:03:11 -07:00
Philippe Hausler
7fd2f52af8 [Observation] Refactor for state machine (and behavior robustness) and adjust protocol requirement names (#64414)
* [Observation] Change visibility of observation runtime functions to be hidden

* [Observation] Update API requirements for Observable AsyncSequence names and alter the behavior of value emissions to be based upon transactionality

* [Observation] Slight naming alteration of isolation -> isolatedTo

Note: This re-enables the previously disabled tests since the implementation should be considerably more robust to hangs.
2023-03-16 22:11:23 -07:00
azharudd
f964104473 Temporarily disable test stdlib/NSStringAPI.swift
It is taking too long to execute.
2023-03-15 17:00:24 -07:00
Alejandro Alonso
31389f7368 Merge pull request #64371 from Azoy/bye-bye-reflection
Remove Reflection
2023-03-15 10:13:46 -07:00
Kavon Farvardin
a8a44ebb17 Merge pull request #64106 from kavon/enable-moveonly-by-default
Enable moveonly / noncopyable types by default
2023-03-15 09:59:29 -07:00
Kavon Farvardin
528d2cfca1 enable full optimizations in test
doesn't seem to be a need to skip destroy hoisting
anymore.
2023-03-14 18:35:13 -07:00
Alejandro Alonso
8505415ce6 Remove Reflection Sources and tests 2023-03-14 15:09:44 -07:00
Philippe Hausler
5c8b2ea30c [Observation] Disable some of the tests for now 2023-03-14 09:28:57 -07:00
Philippe Hausler
81aa9b51ff [Observation] Add some behaviroal tests for changes, transactions, and tracking (#64179)
* [Observation] Add some behaviroal tests for changes, transactions, and tracking

* Correct transactions to properly suspend when awaiting for changes
2023-03-08 09:04:08 -08:00
Ben Barham
c542a8834f [Test] Add another C++ symbol to the visibility filter 2023-03-06 09:15:37 -08:00
Evan Wilde
221c727d14 Merge pull request #64108 from etcwilde/ewilde/fix-symbol-list
Add cxx119to_string to ignored symbol list for linux
2023-03-04 20:48:50 -08:00
Evan Wilde
baa1fdf0a4 Add cxx119to_string to ignored symbol list
Looks like more fallout from the move to C++17 on Linux.
Adding the symbol from the C++ stdlib to the ignore list.
2023-03-04 17:50:07 -08:00
Meghana Gupta
6687d8fa88 Disable LifetimeManagement.swift 2023-03-03 17:25:22 -08:00
Mishal Shah
e256b56545 Merge branch 'main' into rebranch 2023-03-02 18:25:09 -08:00
swift-ci
8dac45ed0d Merge pull request #63725 from phausler/pr/observation
Observation and associated macros
2023-03-02 18:02:14 -08:00
Philippe Hausler
40c277b245 Observation and associated macros 2023-03-02 15:30:59 -08:00
swift-ci
cad2c7baeb Merge pull request #63305 from mikeash/print-keypath-dependent-generic-type
[Runtime] Fix subscript key path printing when arguments can't be resolved.
2023-03-02 15:19:08 -08:00
Mike Ash
91dcf8d298 [Runtime] Fix subscript key path printing when arguments can't be resolved.
If there's a mismatch between the arguments we match and the arguments we actually have, we can end up indexing off the end of the argumentTypeNames vector. This can happen when an argument has a dependent generic type. Add a bounds check and print <unknown> when we're out of bounds to avoid crashing.

For correctness, we should match generic dependent types and add them to the arguments array, but we'll fix the crashes first.

rdar://104438524
2023-03-02 13:46:44 -05:00
Joe Groff
ecceb02e2a Implement consume x operator with the accepted SE-0366 syntax.
Implement it as a contextual operator that only parses as an operator when
followed by an identifier.
2023-03-01 17:37:54 -08:00
Philippe Hausler
8a7f6009b9 Initial draft of observation 2023-02-27 17:09:00 -08:00
swift-ci
781b317e3c Merge remote-tracking branch 'origin/main' into rebranch 2023-02-20 14:33:20 -08:00
Julian Lettner
a60d354ef5 [SUA] Add test for allocation of classes without metadata (#63759)
Add test for allocating classes with pruned metadata and refactor
`computeMallocTypeSummary()` to make it easier to understand:

* Use early returns for error (metadata absent) conditions
* Remove reliance on implicit dependency---having a type descriptor
  currently implies that there is also class metadata---in case this
  ever changes

Co-authored-by: Julian Lettner <julian.lettner@apple.com>
2023-02-20 14:18:31 -08:00
swift-ci
c81c374491 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-17 15:34:22 -08:00
Joe Groff
69e4b95fb8 SIL: Model noescape partial_applys with ownership in OSSA.
Although nonescaping closures are representationally trivial pointers to their
on-stack context, it is useful to model them as borrowing their captures, which
allows for checking correct use of move-only values across the closure, and
lets us model the lifetime dependence between a closure and its captures without
an ad-hoc web of `mark_dependence` instructions.

During ownership elimination, We eliminate copy/destroy_value instructions and
end the partial_apply's lifetime with an explicit dealloc_stack as before,
for compatibility with existing IRGen and non-OSSA aware passes.
2023-02-16 21:43:53 -08:00
Ben Barham
7acf5e0b16 Merge pull request #63720 from bnbarham/and-some-more-symbols
[Test] Add new visible symbols on Linux
2023-02-16 09:20:55 -08:00
swift-ci
969a797b1d Merge remote-tracking branch 'origin/main' into rebranch 2023-02-15 12:14:18 -08:00
eeckstein
5f38f8e3da Merge pull request #63676 from eeckstein/improve-stack-protection
SILOptimizer: avoid stack protection in two cases where it's not needed
2023-02-15 21:00:07 +01:00
swift-ci
80446e28eb Merge remote-tracking branch 'origin/main' into rebranch 2023-02-15 08:53:03 -08:00
Daniel Rodríguez Troitiño
8be7136a0b Change experimental reflection lit feature to reflection_runtime (#63670)
The feature "reflection" was already used in the tests (enabled with
SWIFT_ENABLE_REFLECTION). The new feature tests were triggered even if
the experimental feature was not enabled in people builds.

Change the spelling to "reflection_runtime" to not clash with the
existing feature. Change all the tests I found added lately that has the
existing spelling.
2023-02-15 08:40:39 -08:00
Erik Eckstein
b2512ab5cb stdlib: add an underscored _withUnprotectedUnsafeTemporaryAllocation
This function is similar to `withUnsafeTemporaryAllocation`, except that it doesn't trigger stack protection for the stack allocated memory.
2023-02-15 08:20:48 +01:00
Ben Barham
994a37c82b [Test] Add new visible symbols on Linux
Enabling the C++ stdlib assertions seems to have added even more symbols
(this time from `emplace_back`). Add them to the filter.
2023-02-14 17:02:51 -08:00
swift-ci
4913216c4e Merge remote-tracking branch 'origin/main' into rebranch 2023-02-14 07:56:13 -08:00
Alejandro Alonso
4bd09ff05a Disallow block convention on non ObjC interop 2023-02-13 23:27:07 -08:00
swift-ci
f54da2f214 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-11 21:54:03 -08:00
Alejandro Alonso
ee9c09d7ff Merge pull request #63579 from apple/compnerd/reflecting-upon-failure
Update PartialType.swift
2023-02-11 21:38:44 -08:00
swift-ci
9b8c8421c5 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-10 21:54:43 -08:00
Alejandro Alonso
0a6fc26b73 Update new reflection tests with REQUIRES 2023-02-10 15:59:55 -08:00
Saleem Abdulrasool
9e90541c7d Update PartialType.swift
Mark the test as requiring reflection as it uses the new `_Runtime` module.
2023-02-10 14:46:10 -08:00
swift-ci
27e66e2e38 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-10 12:34:51 -08:00
Alejandro Alonso
72f9c3ff12 Merge pull request #63535 from Azoy/reflection-fixes
[Reflection] Some bug fixes and other improvements
2023-02-10 12:17:24 -08:00
Alejandro Alonso
4edc24189b Fix Lock and mark a few tests unsupported 2023-02-10 09:29:17 -08:00
Ben Barham
295a317a47 [Test] Ignore now-visible stdlib symbols
Last set of CentOS symbols.
2023-02-09 13:11:12 -08:00
swift-ci
5eb07d8c67 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-09 08:33:12 -08:00
Mike Ash
11bcfd4d0c [Test] Mark test/stdlib/Reflection/PartialType.swift unsupported in freestanding builds. 2023-02-09 11:16:27 -05:00
Alejandro Alonso
38e9af48e4 Move some tests into our testsuite and various other fixes 2023-02-08 16:07:39 -08:00
swift-ci
1961e0762f Merge remote-tracking branch 'origin/main' into rebranch 2023-02-08 10:13:34 -08:00
Alejandro Alonso
acb7f8efda Implement generic signature checking for PartialType.create(with:) (#63496)
Check other constraints

some more fixes
2023-02-08 10:10:58 -08:00
Ben Barham
d563ef00e0 [Test] Remove symbol from visibility filter
`_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE` was
accidentally added with the large set of CentOS symbols. Remove it - is
is visible in both all and no weak.
2023-02-06 16:56:49 -08:00