Peng Liu
3bd71cbec7
[libc++] Fix ambiguous call in {ranges, std}::find ( #122641 )
...
This PR fixes an ambiguous call encountered when using the `std::ranges::find` or `std::find`
algorithms with `vector<bool>` with small `allocator_traits::size_type`s, an issue reported
in #122528 . The ambiguity arises from integral promotions during the internal bitwise
arithmetic of the `find` algorithms when applied to `vector<bool>` with small integral
`size_type`s. This leads to multiple viable candidates for small integral types:
__libcpp_ctz(unsigned), __libcpp_ctz(unsigned long), and __libcpp_ctz(unsigned long long),
none of which represent a single best viable match, resulting in an ambiguous call error.
To resolve this, we propose invoking an internal function __countr_zero as a dispatcher
that directs the call to the appropriate overload of __libcpp_ctz. Necessary amendments
have also been made to __countr_zero.
2025-03-13 14:15:03 -04:00
..
2025-03-13 14:15:03 -04:00
2025-02-27 17:47:34 +01:00
2025-03-13 14:15:03 -04:00
2025-03-05 14:18:49 +01:00
2025-02-21 17:50:01 +01:00
2025-02-21 07:59:46 -05:00
2025-03-06 10:22:18 +01:00
2025-02-21 07:59:46 -05:00
2025-02-19 08:21:56 -05:00
2024-10-31 02:20:10 +01:00
2024-11-06 10:38:19 +01:00
2025-01-28 12:35:33 +01:00
2024-10-12 09:49:52 +02:00
2025-01-08 11:12:59 -05:00
2025-01-08 11:12:59 -05:00
2025-02-27 17:47:34 +01:00
2025-01-25 18:30:00 +00:00
2025-03-05 14:18:49 +01:00
2025-02-27 17:47:34 +01:00
2025-03-13 14:15:03 -04:00
2023-12-18 14:01:33 -05:00
2025-03-01 12:29:21 +01:00
2025-02-27 22:49:19 -05:00
2024-09-12 21:18:43 +02:00
2025-02-27 17:47:34 +01:00
2025-03-09 17:33:59 +01:00
2025-02-21 07:59:46 -05:00
2025-02-21 07:59:46 -05:00
2025-01-28 15:43:21 -05:00
2025-01-24 09:34:42 +01:00
2025-02-27 17:47:34 +01:00
2025-02-10 21:19:46 +01:00
2025-02-21 07:59:46 -05:00
2025-02-21 07:59:46 -05:00
2025-02-27 17:47:34 +01:00
2025-02-27 17:47:34 +01:00
2025-01-10 15:21:58 -05:00
2025-01-08 17:34:48 -05:00
2025-02-27 17:47:34 +01:00
2025-01-08 11:12:59 -05:00
2025-03-08 15:20:56 +01:00
2025-03-04 16:09:13 +01:00
2025-02-19 21:31:56 +08:00
2025-03-13 14:07:23 -04:00
2025-02-21 07:59:46 -05:00
2024-12-21 13:01:48 +01:00
2024-09-17 11:22:27 -04:00
2025-03-13 14:15:03 -04:00
2025-02-27 22:57:19 +01:00
2024-11-06 10:39:19 +01:00
2025-01-30 21:10:56 +01:00
2025-02-27 17:47:34 +01:00
2025-02-18 12:12:23 +01:00
2025-01-08 11:12:59 -05:00
2025-02-27 17:47:34 +01:00
2025-01-30 21:10:56 +01:00
2024-10-23 17:07:15 -04:00
2025-03-07 01:27:48 +08:00
2025-02-21 07:59:46 -05:00
2025-02-21 07:59:46 -05:00
2025-01-17 14:22:40 -05:00
2025-01-14 12:10:57 -05:00
2024-12-21 13:01:48 +01:00
2025-02-26 12:18:25 -05:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-02 18:37:18 +01:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-08 15:20:56 +01:00
2024-12-21 13:01:48 +01:00
2025-02-28 15:41:44 -05:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-02-27 17:47:34 +01:00
2024-12-21 13:01:48 +01:00
2025-01-30 21:10:56 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-24 09:34:42 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-25 18:30:00 +00:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-06 16:09:30 +01:00
2025-02-27 17:47:34 +01:00
2025-01-10 14:14:14 -05:00
2025-03-10 15:13:41 +01:00
2025-03-01 12:34:35 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2025-01-24 09:34:42 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-01 12:29:21 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-06 16:09:30 +01:00
2025-03-05 14:18:49 +01:00
2025-02-21 07:59:46 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-02-10 21:19:46 +01:00
2024-12-21 13:01:48 +01:00
2025-03-08 15:20:56 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-02-21 07:59:46 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-08 11:12:59 -05:00
2025-03-11 09:12:14 +08:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-02-21 07:59:46 -05:00
2025-02-21 07:59:46 -05:00
2025-01-08 11:12:59 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-17 14:22:40 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-23 07:33:26 -08:00
2024-12-23 07:33:26 -08:00
2024-12-21 13:01:48 +01:00
2025-01-23 11:01:58 +01:00
2025-03-05 08:31:28 +08:00
2025-02-21 07:59:46 -05:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-01-24 09:34:42 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-03-02 23:00:08 +08:00
2025-03-09 11:17:24 +08:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2024-12-21 13:01:48 +01:00
2025-02-21 07:59:46 -05:00
2025-01-20 18:00:15 +01:00
2024-12-21 13:01:48 +01:00
2024-12-24 18:22:18 -08:00
2025-02-21 07:59:46 -05:00
2024-12-21 13:01:48 +01:00
2025-02-19 09:06:51 +08:00
2024-12-23 07:33:26 -08:00
2024-12-21 13:01:48 +01:00