forked from swiftlang/swift
 
 
 - 
  Notifications
 You must be signed in to change notification settings 
- Fork 29
[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
 
 
 
 
  Merged
 
 
 Conversation
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 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
...ng directly to some expression
...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
...namic_self_metadata.swift
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
...p. rdar://111104451 (#66606)
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
...s_03 Fix some opaque pointer LLVM IR tests (3)
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
Resolves rdar://110344363.
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
Resolves rdar://110870396.
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
 
 Sign up for free
 to join this conversation on GitHub.
 Already have an account?
 Sign in to comment
 
 
 Add this suggestion to a batch that can be applied as a single commit.
 This suggestion is invalid because no changes were made to the code.
 Suggestions cannot be applied while the pull request is closed.
 Suggestions cannot be applied while viewing a subset of changes.
 Only one suggestion per line can be applied in a batch.
 Add this suggestion to a batch that can be applied as a single commit.
 Applying suggestions on deleted lines is not supported.
 You must change the existing code in this line in order to create a valid suggestion.
 Outdated suggestions cannot be applied.
 This suggestion has been applied or marked resolved.
 Suggestions cannot be applied from pending reviews.
 Suggestions cannot be applied on multi-line comments.
 Suggestions cannot be applied while the pull request is queued to merge.
 Suggestion cannot be applied right now. Please check back later.
 
 
 
 
Uh oh!
There was an error while loading. Please reload this page.
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )