[all-commits] [llvm/llvm-project] ccd0e9: [lldb][NativePDB] Fix width and signedness of enum...
Nerixyz via All-commits
all-commits at lists.llvm.org
Sat Jul 18 01:57:17 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ccd0e982a02fa3be39a98dd98ea6cc1ccaf24d13
https://github.com/llvm/llvm-project/commit/ccd0e982a02fa3be39a98dd98ea6cc1ccaf24d13
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-07-18 (Sat, 18 Jul 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
A lldb/test/API/lang/cpp/enum-limits/Makefile
A lldb/test/API/lang/cpp/enum-limits/TestCPPEnumLimits.py
A lldb/test/API/lang/cpp/enum-limits/main.cpp
Log Message:
-----------
[lldb][NativePDB] Fix width and signedness of enum constants (#210338)
Enumerator values aren't always encoded in the correct bit width and
signedness. This happens with both MSVC and Clang.
On MSVC, unsigned 64bit enumerators can be encoded as signed. For
example `ULONGLONG_MAX` will be encoded as `-1`.
Clang/LLVM will always encode the values as unsigned.
Example: https://godbolt.org/z/96YjGW48W.
I fixed this by setting the expected width and signedness when creating
the enumerator constant. We can't use a shell test like for the other
PDB tests, because no output shows the enum values.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list