mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-07 01:51:10 +00:00

(Addresses GH#62153) The `SBType` APIs to retrieve details about template arguments, such as `GetTemplateArgumentType` or `GetTemplateArgumentKind` don't "desugar" LValueReferences/RValueReferences or pointers. So when we try to format a `std::deque&`, the python call to `GetTemplateArgumentType` fails to get a type, leading to an `element_size` of `0` and a division-by-zero python exception (which gets caught by the summary provider silently). This leads to the contents of such `std::deque&` to be printed incorrectly. This patch dereferences the reference/pointer before calling into the above SBAPIs. **Testing** * Add API test Differential Revision: https://reviews.llvm.org/D148531