summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2025-11-19 23:42:22 +0000
committerGitHub <noreply@github.com>2025-11-19 23:42:22 +0000
commitdb1e73ea6d9390c811ab7d41d9ceefb2620be668 (patch)
tree8f3bfaca72d758eaff4a4b10019def84ebf54a24 /clang/lib/CodeGen
parentbe955e5ac9a0b0c979221efb28b0f52aad7bd3d6 (diff)
[clang][DebugInfo] Mark _BitInt's as reconstitutable when emitting -gsimple-template-names (#168383)
Depends on: * https://github.com/llvm/llvm-project/pull/168382 As of recent, LLVM includes the bit-size as a `DW_AT_bit_size` (and as part of `DW_AT_name`) of `_BitInt`s in DWARF. This allows us to mark `_BitInt`s as "reconstitutable" when compiling with `-gsimple-template-names`. We still only omit template parameters that are `<= 64` bit wide. So support `_BitInt`s larger than 64 bits is not part of this patch.
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 8299d45ece76..1489b5116e6c 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -5869,15 +5869,6 @@ struct ReconstitutableType : public RecursiveASTVisitor<ReconstitutableType> {
Reconstitutable = false;
return false;
}
- bool VisitType(Type *T) {
- // _BitInt(N) isn't reconstitutable because the bit width isn't encoded in
- // the DWARF, only the byte width.
- if (T->isBitIntType()) {
- Reconstitutable = false;
- return false;
- }
- return true;
- }
bool TraverseEnumType(EnumType *ET, bool = false) {
// Unnamed enums can't be reconstituted due to a lack of column info we
// produce in the DWARF, so we can't get Clang's full name back.