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"); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits