| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Re-land [lldb][NFC] Mark ValueObject library with NO_PLUGIN_DEPENDENCIES (#167933) This is a fixed version of #167886. The build previously failed with BUILD_SHARED_LIBS=ON. After trying that locally, I uncovered a few other instances of lldb non-plugin libraries depending on clang transitively through lldbValueObject, so I added the correct clang libraries to their dependencies. | 8 个月前 | |
[LLDB] Add boolean literals to DIL. (#157992) This adds the ability to recognize (and create ValueObjects for) boolean literals ("true", "false") to DIL. This is a preliminary step to adding type casting (and also for the ternary op). | 10 个月前 | |
[LLDB] Add unary plus and minus to DIL (#155617) This patch adds unary nodes plus and minus, introduces unary type conversions, and adds integral promotion to the type system. | 8 个月前 | |
[LLDB] Add boolean literals to DIL. (#157992) This adds the ability to recognize (and create ValueObjects for) boolean literals ("true", "false") to DIL. This is a preliminary step to adding type casting (and also for the ternary op). | 10 个月前 | |
[LLDB] Add unary plus and minus to DIL (#155617) This patch adds unary nodes plus and minus, introduces unary type conversions, and adds integral promotion to the type system. | 8 个月前 | |
[lldb][TypeSystem] Remove count parameter from TypeSystem::GetEncoding (#165702) There were a couple of quirks with this parameter: 1. It wasn't being set consistently. E.g., vector types would be of count 1 but complex types would be 2. Hence, it wasn't clear what count was referring to. 2. count was not being set if the input type was invalid, possibly leaving the input reference uninitialized. 3. Only one callsite actually made use of count, and that in itself seems like it could be improved (added a FIXME). If we ever need a "how many elements does this type represent", we can implement one with a new TypeSystem API that does exactly that. | 9 个月前 | |
[lldb] Upgrade CompilerType::GetBitSize to return llvm::Expected (#129601) This patch pushes the error handling boundary for the GetBitSize() methods from Runtime into the Type and CompilerType APIs. This makes it easier to diagnose problems thanks to more meaningful error messages being available. GetBitSize() is often the first thing LLDB asks about a type, so this method is particularly important for a better user experience. rdar://145667239 | 1 年前 | |
[lldb] Refactor away UB in SBValue::GetLoadAddress (#141799) The problem was in calling GetLoadAddress on a value in the error state, where ValueObject::GetLoadAddress could end up accessing the uninitialized "address type" by-ref return value from GetAddressOf. This probably happened because each function expected the other to initialize it. We can guarantee initialization by turning this into a proper return value. I've added a test, but it only (reliably) crashes if lldb is built with ubsan. | 1 年前 | |
[lldb] Add ValueObject::CreateValueObjectFromScalar and fix Scalar::GetData (#151350) Add ValueObject::CreateValueObjectFromScalar function and adjust Scalar::GetData to be able to both extend and truncate the data bytes in Scalar to the specified size. | 11 个月前 | |
[lldb] Move ValueObject into its own library (NFC) (#113393) ValueObject is part of lldbCore for historical reasons, but conceptually it deserves to be its own library. This does introduce a (link-time) circular dependency between lldbCore and lldbValueObject, which is unfortunate but probably unavoidable because so many things in LLDB rely on ValueObject. We already have cycles and these libraries are never built as dylibs so while this doesn't improve the situation, it also doesn't make things worse. The header includes were updated with the following command: find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \; | 1 年前 | |
[lldb] Refactor away UB in SBValue::GetLoadAddress (#141799) The problem was in calling GetLoadAddress on a value in the error state, where ValueObject::GetLoadAddress could end up accessing the uninitialized "address type" by-ref return value from GetAddressOf. This probably happened because each function expected the other to initialize it. We can guarantee initialization by turning this into a proper return value. I've added a test, but it only (reliably) crashes if lldb is built with ubsan. | 1 年前 | |
[lldb] Refactor away UB in SBValue::GetLoadAddress (#141799) The problem was in calling GetLoadAddress on a value in the error state, where ValueObject::GetLoadAddress could end up accessing the uninitialized "address type" by-ref return value from GetAddressOf. This probably happened because each function expected the other to initialize it. We can guarantee initialization by turning this into a proper return value. I've added a test, but it only (reliably) crashes if lldb is built with ubsan. | 1 年前 | |
[lldb] Upgrade CompilerType::GetBitSize to return llvm::Expected (#129601) This patch pushes the error handling boundary for the GetBitSize() methods from Runtime into the Type and CompilerType APIs. This makes it easier to diagnose problems thanks to more meaningful error messages being available. GetBitSize() is often the first thing LLDB asks about a type, so this method is particularly important for a better user experience. rdar://145667239 | 1 年前 | |
[lldb] Store the return SBValueList in the CommandReturnObject (#127566) There are a lot of lldb commands whose result is really one or more ValueObjects that we then print with the ValueObjectPrinter. Now that we have the ability to access the SBCommandReturnObject through a callback (#125006), we can store the resultant ValueObjects in the return object, allowing an IDE to access the SBValues and do its own rich formatting. rdar://143965453 | 1 年前 | |
[lldb] Upgrade CompilerType::GetBitSize to return llvm::Expected (#129601) This patch pushes the error handling boundary for the GetBitSize() methods from Runtime into the Type and CompilerType APIs. This makes it easier to diagnose problems thanks to more meaningful error messages being available. GetBitSize() is often the first thing LLDB asks about a type, so this method is particularly important for a better user experience. rdar://145667239 | 1 年前 | |
[lldb] Upgrade GetIndexOfChildWithName to use llvm::Expected (#136693) This patch replaces the use of UINT32_MAX as the error return value of GetIndexOfChildWithName with llvm::Expected. # Tasks to do in another PR 1. Replace CalculateNumChildrenIgnoringErrors with CalculateNumChildren. See [this comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056319358). 2. Update lldb_private::formatters::ExtractIndexFromString to use llvm::Expected. See [this comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2054217536). 3. Create a new class which carries both user and internal errors. See [this comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056439608). | 1 年前 | |
[lldb] Rename files ValueObjectSyntheticFilter to ValueObjectSynthetic (NFC) (#146784) Change the name of ValueObjectSyntheticFilter.{h,cpp} to match the main type they declare and define: ValueObjectSynthetic. | 1 年前 | |
[lldb] Move ValueObject into its own library (NFC) (#113393) ValueObject is part of lldbCore for historical reasons, but conceptually it deserves to be its own library. This does introduce a (link-time) circular dependency between lldbCore and lldbValueObject, which is unfortunate but probably unavoidable because so many things in LLDB rely on ValueObject. We already have cycles and these libraries are never built as dylibs so while this doesn't improve the situation, it also doesn't make things worse. The header includes were updated with the following command: find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \; | 1 年前 | |
[lldb] Refactor away UB in SBValue::GetLoadAddress (#141799) The problem was in calling GetLoadAddress on a value in the error state, where ValueObject::GetLoadAddress could end up accessing the uninitialized "address type" by-ref return value from GetAddressOf. This probably happened because each function expected the other to initialize it. We can guarantee initialization by turning this into a proper return value. I've added a test, but it only (reliably) crashes if lldb is built with ubsan. | 1 年前 | |
[lldb] Upgrade CompilerType::GetBitSize to return llvm::Expected (#129601) This patch pushes the error handling boundary for the GetBitSize() methods from Runtime into the Type and CompilerType APIs. This makes it easier to diagnose problems thanks to more meaningful error messages being available. GetBitSize() is often the first thing LLDB asks about a type, so this method is particularly important for a better user experience. rdar://145667239 | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 10 个月前 | ||
| 8 个月前 | ||
| 10 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |