Michael Buch
1414a5bdfe
[lldb][DataFormatter] Fix libcxx std::deque formatter for references and pointers
...
(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
2023-04-17 21:31:30 +01:00
..
2022-06-17 14:34:49 -07:00
2023-03-21 10:42:24 -07:00
2022-09-12 13:59:05 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2023-01-25 11:03:58 -08:00
2023-03-03 10:28:56 -08:00
2023-03-06 10:42:32 -08:00
2022-08-15 08:54:06 +00:00
2023-04-17 21:31:30 +01:00
2022-06-17 14:34:49 -07:00
2022-08-03 15:44:19 +02:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-07-23 15:37:26 -07:00
2022-11-11 17:03:02 -08:00
2022-06-17 14:34:49 -07:00
2022-06-20 12:59:31 +02:00
2022-06-17 14:34:49 -07:00
2022-08-15 08:54:06 +00:00
2022-11-11 17:03:02 -08:00
2022-06-17 14:34:49 -07:00
2023-04-05 13:25:43 +02:00
2023-04-17 11:30:27 -07:00
2022-06-17 14:34:49 -07:00
2023-01-25 11:03:58 -08:00
2022-06-17 14:34:49 -07:00
2023-03-28 12:19:10 -07:00
2022-08-02 16:59:12 +05:00
2022-08-11 19:11:01 -07:00
2023-04-17 12:01:24 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-11-30 21:22:27 -08:00
2022-07-07 15:06:40 +02:00
2022-06-17 14:34:49 -07:00
2022-09-13 10:38:38 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-09-13 10:38:38 -07:00
2022-09-23 12:32:38 +00:00
2022-09-13 10:38:38 -07:00
2022-08-03 11:44:13 -07:00
2022-08-15 08:54:06 +00:00
2023-04-06 10:43:54 -07:00
2023-01-19 12:03:06 -08:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-11-13 14:21:55 -08:00
2023-02-03 09:52:20 -05:00
2022-06-17 14:34:49 -07:00
2022-11-17 08:17:10 -08:00
2022-06-17 14:34:49 -07:00
2023-02-13 16:41:15 +03:00
2022-08-11 19:11:01 -07:00
2022-11-03 14:44:53 -07:00
2022-08-03 11:44:13 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2023-03-30 13:59:02 -07:00
2022-06-17 14:34:49 -07:00
2021-09-14 13:31:52 -07:00
2022-11-11 17:03:02 -08:00
2022-06-17 14:34:49 -07:00
2022-12-08 17:17:05 +00:00
2023-01-20 07:54:32 -08:00
2022-08-03 11:44:13 -07:00
2023-01-12 12:49:05 -08:00
2023-03-03 19:33:02 -08:00
2023-01-25 11:03:58 -08:00
2022-06-17 14:34:49 -07:00
2022-12-16 13:03:45 -08:00
2022-09-11 20:50:03 -07:00
2022-06-17 14:34:49 -07:00
2023-02-08 12:12:33 -08:00
2022-11-11 17:03:02 -08:00
2022-10-21 14:00:50 +01:00
2022-06-17 14:34:49 -07:00
2022-08-03 11:44:13 -07:00
2022-10-27 08:41:00 -07:00
2022-11-21 13:26:01 +01:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2023-03-21 11:26:32 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2023-01-25 11:03:58 -08:00
2022-08-25 08:49:13 +01:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00