Adrian Vogelsgesang
7e16571eb0
[lldb][libc++] Hide all libc++ implementation details from stacktraces ( #108870 )
...
This commit changes the libc++ frame recognizer to hide implementation
details of libc++ more aggressively. The applied heuristic is rather
straightforward: We consider every function name starting with `__` as
an implementation detail.
This works pretty neatly for `std::invoke`, `std::function`,
`std::sort`, `std::map::emplace` and many others. Also, this should
align quite nicely with libc++'s general coding convention of using the
`__` for their implementation details, thereby keeping the future
maintenance effort low.
However, this heuristic by itself does not work in 100% of the cases:
E.g., `std::ranges::sort` is not a function, but an object with an
overloaded `operator()`, which means that there is no actual call
`std::ranges::sort` in the call stack. Instead, there is a
`std::ranges::__sort::operator()` call. To make sure that we don't hide
this stack frame, we never hide the frame which represents the entry
point from user code into libc++ code
2024-10-10 19:27:27 +02:00
..
2023-05-25 12:54:09 -07:00
2023-07-03 08:35:55 -04:00
2024-06-28 14:15:09 +01:00
2023-05-25 12:54:09 -07:00
2024-08-20 22:26:49 +04: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-06-12 09:32:54 -07:00
2023-05-25 12:54:09 -07:00
2024-06-13 09:37:02 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-07-26 14:28:11 +02:00
2023-05-25 12:54:09 -07:00
2024-07-26 14:28:11 +02:00
2023-05-25 12:54:09 -07:00
2023-12-07 11:38:26 +00:00
2023-08-24 14:11:30 -07:00
2022-06-17 14:34:49 -07:00
2024-04-19 16:41:07 -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-06-28 20:08:53 +01:00
2024-09-02 08:34:14 +02: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-16 20:58:50 -08:00
2022-08-08 11:01:16 -07:00
2023-10-13 10:06:50 -07:00
2023-05-25 12:54:09 -07:00
2024-09-18 17:50:09 +05:00
2023-05-25 12:54:09 -07:00
2023-06-16 14:51:14 -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
2023-05-29 17:39:36 +04:00
2024-03-04 17:17:13 +00: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
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-10-10 19:27:27 +02:00
2024-05-21 12:45:59 +02: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-09-02 08:34:14 +02: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-09-16 12:05:00 +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
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-13 16:19:41 -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
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-29 17:39:36 +04:00
2023-05-25 12:54:09 -07:00
2024-08-27 19:15:42 +02: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
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-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2024-09-27 18:09:52 -07:00
2024-02-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2023-05-29 12:13:16 +04:00
2024-02-13 16:19:41 -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
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07: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-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