-
Notifications
You must be signed in to change notification settings - Fork 340
Merge stable/20221013 into swift/release/5.9 #6619
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
Merge stable/20221013 into swift/release/5.9 #6619
Conversation
…interceptors Spinlock symbols are removed from headers in MacOS version 10.12 and greater. Even though they are deprecated, the symbols remain available on the system. The TSAN interceptors currently cause a build failure after this version because of the change in availability of the symbol. We want to continue intercepting the symbols available on the OS. So we add forward declarations so that the TSAN interceptors can build. This is tested with the existing osspinlock_norace test. Differential Revision: https://reviews.llvm.org/D146537 (cherry picked from commit ae484c2)
[TSAN][Darwin] Forward declare spinlock functions on darwin for TSAN …
The error message changed in D144664. (cherry picked from commit fad6010)
…tu_test [cherry-pick][lldb/test] Update error message in debug-types-signature-loop.s
https://reviews.llvm.org/D146779 (cherry picked from commit 75ca15f)
(cherry picked from commit 0999996)
Fix backtick handling in parsed commands.
The old reproducer functionality has been removed. Remove this call as it's now just a NO-OP. (cherry picked from commit 0016f47)
[lldb] Remove errant call to SBReproducer.SetWorkingDirectory
This is a minor u-opt but more importantly the `Progress` type requires that the count of imports being >=1. This avoids an assertion being triggered.
This adds the scaffolding needed for include-tree to push IncludeTreeBuilder stacks, to compute an include-tree for a module and to get fmodule-file-cache-key options for dependencies. Note: this does not yet support building or importing modules, but it lets us compute dependencies in the right way. (cherry picked from commit 3b87a20) (cherry picked from commit 3221056)
This handles building and importing simple modules and PCH with modules using include-tree, when modules are found via header path. * Extend IncludeTree to represent module imports and modulemap mainfile * Make IncludeTreeBuilder add the new nodes for #include * Make PPDirectives import modules from PPCachedActions in #include * Teach FrontendAction/CompilerInvocation how to setup the main input file modulemap and module includes buffer from IncludeTreeRoot. There are still lots of things missing, including @import syntax and submodule semantics. (cherry picked from commit 55b697d) (cherry picked from commit a9db055)
With explicit imports, we do not record the module import in the include tree, because the only thing that happens is to lookup the module by name, which works already via the command-line options that provide the module via the action cache. (cherry picked from commit a13b79f) (cherry picked from commit 232e662)
…4 header Add the ability to generate universal binaries with a fat64 header. rdar://107223939 Differential revision: https://reviews.llvm.org/D146879 (cherry picked from commit 4d683f7)
Instead of looking through the PCH or modules for input files and loading them into the current FileManager while scanning, merge them directly from the include-tree that was used to build that PCH and/or module. This makes it easier to understand where files come from in the include-tree, and eliminates certain issues where the scanner module may include more files than are necessary, or include them with different paths in the case of VFS/symlinks. It also avoids needing to re-stat these files if they are not used during scanning the importing TU. As part of this, we teach IncludeTreeFilesystem to handle ./ stripping in paths to match what ASTWriter does. (cherry picked from commit 4c3f73e) (cherry picked from commit fcf503d)
Instead of putting the modulemap file in the include-tree filesystem and parsing it at build time, create a data structure that represents just the parts of the modulemap we need when building the module: * Flags (explicit, system, framework, etc.) * Exports (export *, export Foo) * LinkLibraries (implicit framework autolink, link Foo) Additionally, we add modular headers lazily by inserting known headers when we encounter an include-tree header that is part of a submodule (this is needed for missing #include diagnostics). This removes the possibility of mismatches between header paths seen during modulemap parsing from the paths we embed due to #includes, for exmaple due to VFS virtual vs external paths. (cherry picked from commit a237e68) Conflicts: clang/include/clang/Basic/Module.h clang/lib/Serialization/ASTWriter.cpp (cherry picked from commit c6b9298)
Currently in some cases lldb reports stop reason as "step out" or "step over" (from thread plan completion) instead of "breakpoint", if the user breakpoint happens to be set on the same address. The part of llvm@f08f5c9 seems to overwrite internal breakpoint detection logic, so that only the last breakpoint for the current stop address is considered. Together with step-out plans not clearing its breakpoint until they are destrouyed, this creates a situation when there is a user breakpoint set for address, but internal breakpoint makes lldb report a plan completion stop reason instead of breakpoint. This patch reverts that internal breakpoint detection logic to consider all breakpoints Reviewed By: jingham Differential Revision: https://reviews.llvm.org/D140368 (cherry picked from commit 2af0a47)
…ternal [lldb] Consider all breakpoints in breakpoint detection
Fix doxygen warning: '\c' command does not have a valid word argument [-Wdocumentation]
In Shell tests, replace use of the `p` alias with the `expression` command. To avoid conflating tests of the alias with tests of the expression command, this patch canonicalizes to the use `expression`. See also D141539 which made the same change to API tests. Differential Revision: https://reviews.llvm.org/D146230 (cherry picked from commit d875838)
…ry-pick NFC: Dependency scanner cherry-picks
Change `dwim-print` to now disable persistent results by default, unless requested by the user with the `--persistent-result` flag. Ex: ``` (lldb) dwim-print 1 + 1 (int) 2 (lldb) dwim-print --persistent-result on -- 1 + 1 (int) $0 = 2 ``` Users who wish to enable persistent results can make and use an alias that includes `--persistent-result on`. Differential Revision: https://reviews.llvm.org/D145609 (cherry picked from commit 3854963)
@swift-ci test |
c3d889c
to
8277d73
Compare
@swift-ci test |
This reverts commit 50a89bc.
@swift-ci test |
1 similar comment
@swift-ci test |
@swift-ci test |
please hold off on merging this before I get a chance to approve this PR :) |
@swift-ci test windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to land. Once the reverts from this land in stable/20221013
we should merge #6630 to fix that. Thanks for working on this.
Because the automerger wasn't set up, swift/release/5.9 is currently behind of stable/20221013. Now that the automerger is set up, I'm doing a one-time merge of stable/20221013 into swift/release/5.9 to make sure all the "lost" contents is on the branch.