This revision was automatically updated to reflect the committed changes. Closed by commit rG73714a3c603c: [lldb] Fix undefined behavior: left shift of negative value (authored by JDevlieghere). Herald added a project: LLDB.
Changed prior to commit: https://reviews.llvm.org/D123098?vs=420342&id=420556#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123098/new/ https://reviews.llvm.org/D123098 Files: lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp Index: lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp =================================================================== --- lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -2762,11 +2762,10 @@ } uint64_t data_payload = - (((uint64_t)unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> + ((unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> m_objc_debug_taggedpointer_payload_rshift); int64_t data_payload_signed = - ((int64_t)((int64_t)unobfuscated - << m_objc_debug_taggedpointer_payload_lshift) >> + ((int64_t)(unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> m_objc_debug_taggedpointer_payload_rshift); return ClassDescriptorSP(new ClassDescriptorV2Tagged( actual_class_descriptor_sp, data_payload, data_payload_signed));
Index: lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp =================================================================== --- lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -2762,11 +2762,10 @@ } uint64_t data_payload = - (((uint64_t)unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> + ((unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> m_objc_debug_taggedpointer_payload_rshift); int64_t data_payload_signed = - ((int64_t)((int64_t)unobfuscated - << m_objc_debug_taggedpointer_payload_lshift) >> + ((int64_t)(unobfuscated << m_objc_debug_taggedpointer_payload_lshift) >> m_objc_debug_taggedpointer_payload_rshift); return ClassDescriptorSP(new ClassDescriptorV2Tagged( actual_class_descriptor_sp, data_payload, data_payload_signed));
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits