Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[pull] main from apple:main #5542

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 58 commits into swiftwasm:main from swiftlang:main
Jun 23, 2023
Merged

[pull] main from apple:main #5542

pull merged 58 commits into swiftwasm:main from swiftlang:main
Jun 23, 2023

Conversation

@pull
Copy link

@pull pull bot commented Jun 23, 2023
edited
Loading

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

Mayank and others added 30 commits May 26, 2023 22:08
Instead of using `if` in case of checking if `index < end` in `next` function of Stack. We can use `guard` statement to make it more readable and concise.
Move the TSan functionality from Concurrency into Threading. Use it
in the Linux `ulock` implementation so that TSan knows about `ulock`
and will tolerate the newer `swift_once` implementation that uses it.
rdar://110665213
* Use the longer name ThreadSanitizer rather than TSan for the new files.
* Don't implement `tsan::consume` at all for now.
* Do the `tsan::release` for `ulock_unlock()` at the head of the function,
 not at the tail.
* Add a comment to test/Sanitizers/tsan/once.swift to explain the test a
 little more clearly.
rdar://110665213
On Darwin, `RTLD_NEXT` doesn't do what we need it to here, with the
result that if `libswiftCore`'s TSan initializer gets found first,
then `libswift_Concurrency` won't have its initializer called at all,
in spite of us using `RTLD_NEXT` to find the next definition.
Fix this by centralising the initializer in `libswiftCore` instead.
rdar://110665213
We need ThreadSanitizer.cpp in libswiftCore for the runtime case, but
we also need it in libswiftThreading for non-runtime cases.
rdar://1106655213
We need to pick up the `_swift_tsan_xxx` symbols from libswiftCore in
most cases, but sometimes we're statically linked and in that case we
want to use a local copy.
rdar://1106655213
On builds where TSan isn't supported, don't include any code in
ThreadSanitizer.cpp.
rdar://110665213
...eExpr`
Add a special case for `TypeExpr` due to i.e. context specialization,
in such cases there is nothing for the solver to "open" so we need
to form opened type map manually.
Resolves: rdar://111059036
With libdispatch executor, `level` function is called on non-main thread
because it does not specify main executor explicitly. Therefore, the
crash message from swift-backtrace says `Thread 1 crashed: ...`.
However, with single threaded executor, all jobs are executed on the
main thread, and main thread always has its name, so the message can be
thread name 'Thread 0 "CrashAsync" crashed:'.
...ument
For the size argument of an alloca, some targets use a i32 bit integer, some use
a 64 bit integer; the updated test was hard-coding i64, which caused it to fail
in other targets. This is irrelevant for what the test is doing, so we remove
that.
Updated the comments for tsan::acquire and tsan::release to better
reflect what TSan is actually doing.
rdar://110665213
... and type aliases of applicable nominal types
This change adds to the extracted type metadata the following fields:
- Conformances: this is a list of all protocols that the given nominal type conforms to
- associated type aliases: this is a list of all associated types across all conformances that the given nominal type substitutes with concrete types. For a given associated type, we gather:
 - Associated type name
 - Substituted type's fully-qualified name
 - Substituted type's mangled name
 - If the substituted type is opaque:
 - List of conformance requirements of this opaque type
 - List of same-type requirements of this opaque type
Revert [Runtime] Let CF provide us with state, avoiding runtime lookup
... of noncopyable types.
Key paths don't support them yet, and the current component representation is inadequate to
handle them without requiring internal copying in all cases, so let's avoid generating
invalid property descriptors for them today. rdar://111171284
...type_fix
[DebugInfo][NFC] Update test to not check width of alloca integer arguments
This is irrelevant for the test itself and may change depending on target.
[Optimizer] Refactored the `Stack.swift` file to make it more readable and concise. 🚀
...6848)
* [Runtime] Handle generic multi payload enums in resilient resolve
* Update BytecodeLayouts.cpp
* Update BytecodeLayouts.cpp
[Threading][TSan] Fix TSan errors from lazy init on Linux.
...-based cursor info
Running solver-based cursor info in the callback that is informed about cancellation extends the window for a deadlock.
This fixes a deadlock that could occur when a cursor info request is cancelled while another one is inside the cancellation callback. The schematic deadlock backtrace is
```
sourcekitd::cancelRequest
SourceKit::RequestTracker::cancel -> holds RequestTracker.RequestsMtx
anonymous func in SourceKit::SwiftASTManager::processASTAsync
SourceKit::SwiftASTConsumer::requestCancellation
anonymous func in ASTBuildOperation::addConsumer -> tries to get ASTBuildOperation.ConsumersAndResultMtx
resolveCursor
SourceKit::SwiftASTManager::processASTAsync
SourceKit::SwiftASTConsumer::requestCancellation
anonymous func in ASTBuildOperation::addConsumer
[probably inlined] ASTBuildOperation::requestConsumerCancellation -> holds ASTBuildOperation.ConsumersAndResultMtx
resolveCursor::CursorInfoConsumer::cancelled
anonymous func in SourceKit::SwiftLangSupport::getCursorInfo
anonymous func in handleRequestCursorInfo
reportCursorInfo
anonymous func in sourcekitd::handleRequest -> tries to get RequestTracker.RequestsMtx
```
rdar://110357502
aschwaighofer and others added 28 commits June 22, 2023 12:41
The @objcImpl checker would accidentally dereference a null pointer when it tried to check if an async requirement could be satisfied by a non-async method. Fix that mistake.
Fixes rdar://111064481.
* Don't invalidate the lookup cache in 'getOrCreateSynthesizedFile()'
 Adding a synthesized file itself doesn't introduce any decls. Instead,
 we should invalidate the right after the actual declrations are added
 in the file
* Remove 'SourceLookupCache::invalidate()' method. It was just used
 right before the destruction. It was just not necessary
* Include auxiliary decls in 'SourceLookupCache::lookupVisibleDecls()'
 Previously, global symbol completion didn't include decls synthesized
 by peer macros or freestanding decl macros
* Include "auxiliary decls" in visible member lookup, and visible local
 decl lookup
* Hide macro unique names
rdar://110535113
This moves `libstdcxx.modulemap` and `libstdcxx.h` from `*.xctoolchain/usr/lib/swift/macosx/arm64e` to `*.xctoolchain/usr/lib/swift/macosx` to simplify distribution.
rdar://110788977
Only preserve primary associated types during type erasure if the
generic context does not contain outer generic prameters.
i.e.
 Given `func foo { ... any P <Int> ... }` getNonDependentUpperBounds()
 should produce any P<Int>
 However, given `func foo<T> { ... any P<T> ... }` getNonDependentUpperBounds()
 should produce any P
Fixes rdar://110262754
..._armv7k
Fix some IRGen tests on armv7k for opaque pointers
SILGen: Don't emit key path property descriptors for properties in or of noncopyable types.
...ums (#66872)
We already store all necessary information to extract the tag in the layout string, so we should utilize it for the getEnumTag witness
...air-wasm-ci-backtracing
[test][Backtracing] Fix crash message pattern for single threaded mode
...type_fix
[DebugInfo][NFC] Update test to not check width of integer argument
...dent
[cxx-interop] Make libstdc++ header and modulemap arch-independent
Two new tests were added in #66448, and they both fail for watchOS:
1. debug_fragment_merge.sil fails on 32 bit architectures because the offset
calculation is different for those (fragments of 32 bits, instead of 64).
2. debug_fragment_merge.swift is failing for unknown reasons at this point,
there is simply no SIL debug information generated for the variable "data".
Since the original patch didn't change SILGen, this is not a regression.
We recently changed the build-script to stop configuring LLDB
tests if `SKIP_TESTS_LLDB` is set (see rdar://109774179 and
#66171).
A common use-case is to build lldb without `-t` (to avoid running the
tests) and then run the tests separately later. However, if we don't
specify the `-t` flag to the build-script, `SKIP_TESTS_LLDB` is implicitly set.
Meaning this multi-step way of running lldb tests regressed.
This patch addresses this by creating a new `--lldb-configure-tests`
option which when set makes sure we set the CMake variable
`LLDB_INCLUDE_TESTS` (which will be the default behaviour).
The preset for which we originally introduced the `SKIP_TESTS_LLDB` check
now sets this new option to `0` to avoid configuring LLDB tests. The
preset skips running the tests anyway, we're not losing test coverage.
...tests
[DebugInfo] Disable failing tests on watchOS
[SourceKit] Fix a potential deadlock when a cursor info request is cancelled while another one is inside a cancellation callback
[Compile Time Constant Extraction] Add extraction of all conformances and type aliases of applicable nominal types
[CursorInfo] Re-use already built ASTs ahead of currently building ones
[Completion] Add targetEnvironment(macCatalyst) platform condition
[CSSimplify] Add special handling if specialized type comes from `TypeExpr`
...110535113
[CodeCompletion] Suggest synthesized declarations from macros
...traints
[GenericSignature] Exclude GenericParam Constraints
When you have a type that's ambiguous because it's defined in 2 imported
modules, but you don't have to disambiguate by using the module name,
previously no index references were produced. Now most are for the
common case, but notably nested type constructors and generics still
aren't emitted, partially because of #65726
Fixes: #64598 
...re-lldb-tests
[Build] Introduce --lldb-configure-tests option
@pull pull bot merged commit 821e260 into swiftwasm:main Jun 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /