FailedChanges

Summary

  1. [clang] Make signature help work with dependent args (details)
  2. [lldb][NFC] Remove stride parameter from GetArrayElementType (details)
  3. [VE] Support f128 (details)
  4. [lldb] Get lldb-server platform's --socket-file working again (details)
  5. [lldb] Fix that log enable's -f parameter causes LLDB to crash when it can't open the log file (details)
  6. [lldb] Add SBModule::GarbageCollectAllocatedModules and clear modules after each test run (details)
  7. [lldb] Forcefully complete a type when adding nested classes (details)
  8. [lldb/Utility] Simplify and generalize Scalar class (details)
  9. [lldb] Don't delete orphaned shared modules in SBDebugger::DeleteTarget (details)
  10. [lldb] Remove OS-specific string from TestInvalidArgsLog (details)
  11. [NFC][StackSafety] Move out sort from the loop (details)
Commit 53c593c2c893a40083771789e3d3e164eea1892d by kadircet
[clang] Make signature help work with dependent args

Fixes https://github.com/clangd/clangd/issues/490

Differential Revision: https://reviews.llvm.org/D85826
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/test/CodeCompletion/call.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit 5913f2591c45dc84e872a62343f81462372ccbdb by Raphael Isemann
[lldb][NFC] Remove stride parameter from GetArrayElementType

This parameter isn't used anywhere in LLDB nor the Swift downstream branch. It
also doesn't really fit into the TypeSystem APIs that usually don't return
additional related functionality via some output parameters. Also the
implementations already states that the calculated value there is wrong.

Let's remove it. If we need this functionality at some point then Swift's much
nicer `GetByteStride` function seems like the way to go.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D84299
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Symbol/CompilerType.cpp
The file was modifiedlldb/include/lldb/Symbol/TypeSystem.h
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/include/lldb/Symbol/CompilerType.h
Commit 40f1e7e80401dab11f6003fb59c43ba9059959cd by marukawa
[VE] Support f128

Support f128 using VE instructions.  Update regression tests.
I've noticed there is no load or store i128 test, so I add them too.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D86035
The file was modifiedllvm/test/CodeGen/VE/fp_mul.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEISelLowering.h
The file was modifiedllvm/test/CodeGen/VE/fp_add.ll
The file was modifiedllvm/test/CodeGen/VE/store.ll
The file was modifiedllvm/test/CodeGen/VE/va_caller.ll
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/test/CodeGen/VE/fp_sub.ll
The file was modifiedllvm/lib/Target/VE/VECallingConv.td
The file was modifiedllvm/test/CodeGen/VE/load_off.ll
The file was modifiedllvm/test/CodeGen/VE/fp_div.ll
The file was modifiedllvm/test/CodeGen/VE/load.ll
The file was modifiedllvm/test/CodeGen/VE/load_gv.ll
The file was modifiedllvm/test/CodeGen/VE/va_arg.ll
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.cpp
The file was modifiedllvm/lib/Target/VE/VEMCInstLower.cpp
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/VE/call.ll
The file was modifiedllvm/test/CodeGen/VE/store_gv.ll
Commit c57ea1b48f26caf7922bf434187e1c277f412550 by Raphael Isemann
[lldb] Get lldb-server platform's --socket-file working again

`lldb-server platform --socket-file /any/path` currently always fails to create
the socket file.  This stopped working after D67424 which changed the
input variables of `writeFileAtomically` slightly. We're expected to
pass in a temporary path template (`/tmp/foo-%%%%%`) and the final
path we want to write. Instead we currently pass in the never set
`temp_file_path` as the temporary path (which will make this function always
fail) and pass in the temp_file_spec's path as the final path (which is actually
the template path such as `/tmp/foo-%%%%%`) instead of the actual path
we want to write (e.g. `/tmp/foo`).

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D85890
The file was modifiedlldb/tools/lldb-server/lldb-platform.cpp
Commit 867c347c32e27825a649af1ca5ccf22c350d2b8c by Raphael Isemann
[lldb] Fix that log enable's -f parameter causes LLDB to crash when it can't open the log file

We didn't do anything with the llvm::Error we get from `Open`, so when we end up in the
error case we just crash due to the llvm::Error sanity check. Also add the missing newline
behind the error message so it no longer messes with the next (lldb) prompt.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D85970
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
Commit c2f9454a16e45e1df09d8ebed6dadbc0da264442 by Raphael Isemann
[lldb] Add SBModule::GarbageCollectAllocatedModules and clear modules after each test run

Right now the only places in the SB API where lldb:: ModuleSP instances are
destroyed are in SBDebugger::MemoryPressureDetected (where it's just attempted
but not guaranteed) and in SBDebugger::DeleteTarget (which will be removed in
D83933). Tests that directly create an lldb::ModuleSP and never create a target
therefore currently leak lldb::Module instances. This triggers the sanity checks
in lldbtest that make sure that the global module list is empty after a test.

This patch adds SBModule::GarbageCollectAllocatedModules as an explicit way to
clean orphaned lldb::ModuleSP instances. Also we now start calling this method
at the end of each test run and move the sanity check behind that call to make
this work. This way even tests that don't create targets can pass the sanity
check.

This fixes TestUnicodeSymbols.py when D83865 is applied (which makes that the
sanity checks actually fail the test).

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D83876
The file was modifiedlldb/include/lldb/API/SBModule.h
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/source/API/SBModule.cpp
The file was modifiedlldb/bindings/interface/SBModule.i
Commit 2d89a3ba121b96a4af9aecaf52205eab200394c3 by pavel
[lldb] Forcefully complete a type when adding nested classes

With -flimit-debug-info, we can run into cases when we only have a class
as a declaration, but we do have a definition of a nested class. In this
case, clang will hit an assertion when adding a member to an incomplete
type (but only if it's adding a c++ class, and not C struct).

It turns out we already had code to handle a similar situation arising
in the -gmodules scenario. This extends the code to handle
-flimit-debug-info as well, and reorganizes bits of other code handling
completion of types to move functions doing similar things closer
together.

Differential Revision: https://reviews.llvm.org/D85968
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/DW_AT_declaration-with-children.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Commit 67cdb899c6b3ec231f35ca17a00023758ef127ba by pavel
[lldb/Utility] Simplify and generalize Scalar class

The class contains an enum listing all host integer types as well as
some non-host types. This setup is a remnant of a time when this class
was actually implemented in terms of host integer types. Now that we are
using llvm::APInt, they are mostly useless and mean that each function
needs to enumerate all of these cases even though it treats most of them
identically.

I only leave e_sint and e_uint to denote the integer signedness, but I
want to remove that in a follow-up as well.

Removing these cases simplifies most of these functions, with the only
exception being PromoteToMaxType, which can no longer rely on a simple
enum comparison to determine what needs to be promoted.

This also makes the class ready to work with arbitrary integer sizes, so
it does not need to be modified when someone needs to add a larger
integer size.

Differential Revision: https://reviews.llvm.org/D85836
The file was modifiedlldb/include/lldb/Utility/Scalar.h
The file was modifiedlldb/source/Utility/Scalar.cpp
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
Commit 24c74f5e8c2cf263dd84292ca5d33ee0890b48dd by Raphael Isemann
[lldb] Don't delete orphaned shared modules in SBDebugger::DeleteTarget

In D83876 the consensus seems that LLDB should never deleted orphaned modules
implicitly. However, SBDebugger::DeleteTarget is currently doing exactly that.
This code was added in 753406221b55b95141c8c1239660dc4db4e35ea5 but I don't see
any explanation in the commit, so I think we should delete it.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D83933
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit 6b97fa0bfefea7d9028b899a92bc29ab9b133906 by Raphael Isemann
[lldb] Remove OS-specific string from TestInvalidArgsLog

This is the error message from the OS, so we shouldn't check against the
OS-specific part of the string.

Fixes the test on Windows which returns a different error message.
The file was modifiedlldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
Commit 3b348d91028726f840868875dac3bcefcefda917 by Vitaly Buka
[NFC][StackSafety] Move out sort from the loop
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-paramaccess.ll