[Lldb-commits] [lldb] [lldb] Fix casting from float in `ValueObject::CastToEnumType` (PR #191908)

Ilia Kuklin via lldb-commits lldb-commits at lists.llvm.org
Sat Apr 18 12:11:00 PDT 2026


================
@@ -3322,7 +3322,8 @@ lldb::ValueObjectSP ValueObject::CastToEnumType(CompilerType type) {
     byte_size = temp.value();
 
   if (is_float) {
-    llvm::APSInt integer(byte_size * CHAR_BIT, !type.IsSigned());
+    llvm::APSInt integer(byte_size * CHAR_BIT,
+                         !type.IsEnumerationIntegerTypeSigned());
----------------
kuilpd wrote:

Well, this is just what `TypeSystemClang` returns. https://github.com/llvm/llvm-project/blob/580910073482c0b49be5364f9595ba2dc2bf8f2e/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp#L3912

Do you mean it should check itself the enumeration underlying type and append the flag if it's signed?

https://github.com/llvm/llvm-project/pull/191908


More information about the lldb-commits mailing list