Michael Buch
9e9b1178ca
[lldb] Support new libc++ __compressed_pair layout ( #96538 )
...
This patch is in preparation for the `__compressed_pair` refactor in
https://github.com/llvm/llvm-project/pull/76756 .
This is mostly reviewable now. With the new layout we no longer need to
unwrap the `__compressed_pair`. Instead, we just need to look for child
members. E.g., to get to the underlying pointer of `std::unique_ptr` we
no longer do,
```
GetFirstValueOfCXXCompressedPair(GetChildMemberWithName("__ptr_"))
```
but instead do
```
GetChildMemberWithName("__ptr_")
```
We need to be slightly careful because previously the
`__compressed_pair` had a member called `__value_`, whereas now
`__value_` might be a member of the class that used to hold the
`__compressed_pair`. So before unwrapping the pair, we added checks for
`isOldCompressedLayout` (not sure yet whether folding this check into
`GetFirstValueOfCXXCompressedPair` is better).
2024-09-16 10:11:49 +01:00
..
2024-07-01 21:35:21 -07:00
2023-03-21 10:42:24 -07:00
2024-08-08 12:55:10 -07:00
2024-02-21 13:02:30 -06:00
2024-04-16 16:00:14 -07:00
2024-05-16 07:44:08 +04:00
2023-05-25 12:54:09 -07:00
2024-09-11 16:04:01 +03:00
2024-05-21 10:56:26 +02:00
2024-08-27 19:15:42 +02:00
2023-05-25 12:54:09 -07:00
2024-09-16 10:11:49 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-04-26 13:18:45 -07:00
2024-06-26 15:55:15 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-05-14 14:00:16 +04:00
2023-09-11 16:44:12 +00:00
2024-02-16 20:58:50 -08:00
2024-05-14 14:02:31 +04:00
2024-02-15 22:54:00 -08:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-04-29 11:41:14 +01:00
2024-08-13 15:28:35 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-15 22:54:00 -08:00
2024-09-11 16:04:01 +03:00
2023-09-11 16:44:12 +00:00
2024-02-13 16:19:41 -06:00
2023-05-25 12:54:09 -07:00
2024-02-14 15:53:19 -06:00
2023-05-25 12:54:09 -07:00
2024-02-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2024-06-28 14:06:39 +01:00
2024-07-16 15:21:06 +02:00
2024-06-28 14:06:39 +01:00
2024-06-28 14:06:39 +01:00
2023-05-25 12:54:09 -07:00
2024-09-04 11:30:58 +02:00
2024-02-16 21:45:08 -08:00
2024-02-21 20:39:02 -06:00
2023-05-25 12:54:09 -07:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2022-11-13 14:21:55 -08:00
2024-06-05 10:57:46 -07:00
2023-05-25 12:54:09 -07:00
2024-07-02 02:29:16 +05:00
2023-05-25 12:54:09 -07:00
2024-09-11 16:04:01 +03:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-16 20:58:50 -08:00
2024-08-05 09:37:36 +02:00
2024-09-13 09:17:06 -07:00
2024-04-26 13:18:45 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2024-05-09 10:39:05 -07:00
2023-05-25 12:54:09 -07:00
2023-09-08 13:04:48 +00:00
2024-06-28 14:06:39 +01:00
2024-08-05 17:26:39 -07:00
2024-02-16 20:58:50 -08:00
2024-06-06 14:25:53 -07:00
2024-06-28 11:53:19 -07:00
2024-02-21 13:02:30 -06:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2024-06-26 15:59:07 +01:00
2024-02-16 20:58:50 -08:00
2024-03-20 07:03:24 -07:00
2024-06-10 18:51:47 +04:00
2023-05-25 12:54:09 -07:00
2024-05-23 14:01:10 +04:00
2024-06-27 01:45:30 -07:00
2024-02-21 13:02:30 -06:00
2024-02-13 16:19:41 -06:00
2024-03-31 17:17:32 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-06-11 13:58:26 -07:00
2024-02-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2024-07-08 12:20:45 +02:00
2024-03-11 13:04:56 -07:00
2024-02-16 20:58:50 -08:00
2024-02-16 20:58:50 -08:00
2024-02-16 20:58:50 -08:00
2024-09-12 10:35:11 +00:00
2024-02-16 21:45:08 -08:00