[clang] 30579c0 - [DebugInfo] Add bit size to _BitInt name in debug info (#165583)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 30 02:08:47 PDT 2025
Author: Orlando Cazalet-Hyams
Date: 2025-10-30T09:08:43Z
New Revision: 30579c0708660cd25de7b82b624ddff5601f03b0
URL: https://github.com/llvm/llvm-project/commit/30579c0708660cd25de7b82b624ddff5601f03b0
DIFF: https://github.com/llvm/llvm-project/commit/30579c0708660cd25de7b82b624ddff5601f03b0.diff
LOG: [DebugInfo] Add bit size to _BitInt name in debug info (#165583)
Follow on from #164372
This changes the DW_AT_name for `_BitInt(N)` from `_BitInt` to `_BitInt(N)`
Added:
Modified:
clang/lib/CodeGen/CGDebugInfo.cpp
clang/test/DebugInfo/Generic/bit-int.c
Removed:
################################################################################
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 07a2cfb21bef2..fd2f6dcf182b5 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1174,7 +1174,10 @@ llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) {
}
llvm::DIType *CGDebugInfo::CreateType(const BitIntType *Ty) {
- StringRef Name = Ty->isUnsigned() ? "unsigned _BitInt" : "_BitInt";
+ SmallString<32> Name;
+ llvm::raw_svector_ostream OS(Name);
+ OS << (Ty->isUnsigned() ? "unsigned _BitInt(" : "_BitInt(")
+ << Ty->getNumBits() << ")";
llvm::dwarf::TypeKind Encoding = Ty->isUnsigned()
? llvm::dwarf::DW_ATE_unsigned
: llvm::dwarf::DW_ATE_signed;
diff --git a/clang/test/DebugInfo/Generic/bit-int.c b/clang/test/DebugInfo/Generic/bit-int.c
index 94b93013e3b46..88ecc139eee9f 100644
--- a/clang/test/DebugInfo/Generic/bit-int.c
+++ b/clang/test/DebugInfo/Generic/bit-int.c
@@ -4,5 +4,5 @@
unsigned _BitInt(17) a;
_BitInt(2) b;
-// CHECK: !DIBasicType(name: "_BitInt", size: 8, dataSize: 2, encoding: DW_ATE_signed)
-// CHECK: !DIBasicType(name: "unsigned _BitInt", size: 32, dataSize: 17, encoding: DW_ATE_unsigned)
+// CHECK: !DIBasicType(name: "_BitInt(2)", size: 8, dataSize: 2, encoding: DW_ATE_signed)
+// CHECK: !DIBasicType(name: "unsigned _BitInt(17)", size: 32, dataSize: 17, encoding: DW_ATE_unsigned)
More information about the cfe-commits
mailing list