[Lldb-commits] [lldb] 92f439c - [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Dec 23 05:40:12 PST 2024
Author: Ilia Kuklin
Date: 2024-12-23T18:40:09+05:00
New Revision: 92f439c4b7f234583e52e529858365c1bf072879
URL: https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879
DIFF: https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879.diff
LOG: [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)
Added:
Modified:
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
lldb/unittests/Symbol/TestTypeSystemClang.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
index 3ec25a2e8aa2df..06c04c992efc09 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -8534,7 +8534,7 @@ clang::EnumConstantDecl *TypeSystemClang::AddEnumerationValueToEnumerationType(
bool is_signed = false;
underlying_type.IsIntegerType(is_signed);
- llvm::APSInt value(enum_value_bit_size, is_signed);
+ llvm::APSInt value(enum_value_bit_size, !is_signed);
value = enum_value;
return AddEnumerationValueToEnumerationType(enum_type, decl, name, value);
diff --git a/lldb/unittests/Symbol/TestTypeSystemClang.cpp b/lldb/unittests/Symbol/TestTypeSystemClang.cpp
index 0733e42bb46331..a2d1f6db802777 100644
--- a/lldb/unittests/Symbol/TestTypeSystemClang.cpp
+++ b/lldb/unittests/Symbol/TestTypeSystemClang.cpp
@@ -313,6 +313,16 @@ TEST_F(TestTypeSystemClang, TestGetEnumIntegerTypeBasicTypes) {
}
}
+TEST_F(TestTypeSystemClang, TestEnumerationValueSign) {
+ CompilerType enum_type = m_ast->CreateEnumerationType(
+ "my_enum_signed", m_ast->GetTranslationUnitDecl(),
+ OptionalClangModuleID(), Declaration(),
+ m_ast->GetBasicType(lldb::eBasicTypeSignedChar), false);
+ auto *enum_decl = m_ast->AddEnumerationValueToEnumerationType(
+ enum_type, Declaration(), "minus_one", -1, 8);
+ EXPECT_TRUE(enum_decl->getInitVal().isSigned());
+}
+
TEST_F(TestTypeSystemClang, TestOwningModule) {
auto holder =
std::make_unique<clang_utils::TypeSystemClangHolder>("module_ast");
More information about the lldb-commits
mailing list