llvm-capstone/clang-tools-extra
Björn Pettersson d5cfdcaacb [clangd] Allow hover over 128-bit variable without crashing (#71415)
When hovering over variables larger than 64 bits, with more than 64
active bits, there were assertion failures since Hover is trying to
print the value as a 64-bit hex value.

There is already protection avoiding to call printHex if there is more
than 64 significant bits. And we already truncate and print negative
values using only 32 bits, when possible. So we can simply truncate
values with more than 64 bits to avoid the assert when using
getZExtValue. The result will be that for example a negative 128 bit
variable is printed using 64 bits, when possible.

There is still no support for printing more than 64 bits. That would
involve more changes since for example llvm::FormatterNumber is limited
to 64 bits.

This is a second attempt at landing this patch. Now with protection
to ensure we use a triple that supports __int128_t.
2023-11-08 14:13:11 +01:00
..
clang-apply-replacements [clang] NFCI: Use FileEntryRef in 'clang-tools-extra' 2023-09-10 19:53:54 -07:00
clang-change-namespace [clang] NFCI: Use FileEntryRef for FileID creation (#67838) 2023-10-03 13:07:46 -07:00
clang-doc [clang-doc] Fix a warning 2023-11-03 11:03:15 -07:00
clang-include-fixer [clang] NFCI: Use FileEntryRef in 'clang-tools-extra' 2023-09-10 19:53:54 -07:00
clang-move [clang] NFCI: Use FileEntryRef for FileID creation (#67838) 2023-10-03 13:07:46 -07:00
clang-query cmake: add missing dependencies on ClangDriverOptions tablegen 2023-08-04 10:27:19 -07:00
clang-reorder-fields [clang] NFCI: Use FileEntryRef for FileID creation (#67838) 2023-10-03 13:07:46 -07:00
clang-tidy [clang-tidy] Improve performance-enum-size to exclude empty enums (#71640) 2023-11-08 11:22:31 +01:00
clangd [clangd] Allow hover over 128-bit variable without crashing (#71415) 2023-11-08 14:13:11 +01:00
docs [clang-tidy] Improve performance-enum-size to exclude empty enums (#71640) 2023-11-08 11:22:31 +01:00
include-cleaner [include-cleaner] Remove unused using decls (NFC) 2023-10-15 00:20:56 -07:00
modularize [Attributes][HLSL] Teach EnumArgument to refer to an external enum (#70835) 2023-11-01 11:24:48 -07:00
pp-trace [clang] NFCI: Use FileEntryRef in 'clang-tools-extra' 2023-09-10 19:53:54 -07:00
pseudo [clang] Change GetCharAndSizeSlow interface to by-value style 2023-10-31 00:08:01 +01:00
test [clang-tidy] Improve performance-enum-size to exclude empty enums (#71640) 2023-11-08 11:22:31 +01:00
tool-template
unittests [clang][NFC] Refactor TagTypeKind (#71160) 2023-11-03 21:45:39 +04:00
.gitignore
CMakeLists.txt Generalize "check-all" umbrella targets, use for check-clang-tools 2022-05-06 12:30:49 +02:00
CODE_OWNERS.TXT Update the clang and clang-tools-extra code owners files 2022-09-06 08:28:03 -04:00
LICENSE.TXT
README.txt [NFC] update clang-tools-extra README.txt 2022-06-10 16:59:57 +05:30

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang forum:
  https://discourse.llvm.org/c/clang

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  https://github.com/llvm/llvm-project/issues/