https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/120794
>From b5cb9a262a5e1bdb19eb72e7e357c98e90fa9f4e Mon Sep 17 00:00:00 2001 From: Ilia Kuklin <ikuk...@accesssoftek.com> Date: Sat, 21 Dec 2024 02:04:35 +0500 Subject: [PATCH 1/2] Negate is_signed variable for argument isUnsigned --- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); >From aebf2bd2f57da5e40ee8a81841391da1a04801f1 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin <ikuk...@accesssoftek.com> Date: Mon, 23 Dec 2024 17:31:56 +0500 Subject: [PATCH 2/2] Add a test to TestTypeSystemClang --- lldb/unittests/Symbol/TestTypeSystemClang.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lldb/unittests/Symbol/TestTypeSystemClang.cpp b/lldb/unittests/Symbol/TestTypeSystemClang.cpp index 0733e42bb46331..0a9cfc77e68800 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, nullptr, "minus_one", -1, 8); + EXPECT_TRUE(enum_decl->getInitVal().isSigned()); +} + TEST_F(TestTypeSystemClang, TestOwningModule) { auto holder = std::make_unique<clang_utils::TypeSystemClangHolder>("module_ast"); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits