Files
freebsd/include
Faraz Vahedi 48d20fd1cf libc: Fix assert() sanitiser for C++ contextual bool conversion
Replace the `(bool(*)(bool))` probe in `__assert_sanitize()` with an unevaluated
conditional expression, so types with `explicit operator bool()` that require a
contextually converted constant expression of type `bool` are handled correctly.

Ergo, arity check is now performed separately via `__assert_sanitize_arity()`, a
unary template whose parameter pack must bind to exactly on argument after
`__VA_ARGS__` is substituted into the call.

Also align NDEBUG with C23 requirements.

Reported by:	dim, aokblast
Signed-off-by:	Faraz Vahedi <[email protected]>
Reviewed by:	aokblast, fuz
MFC after:	1 week
Fixes:		867b51452e
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2265
2026-06-10 18:14:32 +02:00
..
…
2026-02-02 21:20:16 +00:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
…
…
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2025-09-11 17:12:22 +02:00
…
2023-11-26 22:23:28 -07:00
…
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
…
2023-11-26 22:23:28 -07:00
…
…
2025-06-11 17:16:20 -06:00
…
2023-11-26 22:23:28 -07:00
2024-10-14 10:26:17 -07:00
2023-08-16 11:54:23 -06:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
…
2024-08-26 18:27:29 +02:00
2026-05-27 00:05:45 +01:00
…
2026-01-19 18:49:57 +02:00
2024-04-23 19:51:22 +03:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2025-10-04 10:50:02 +02:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
2025-06-11 17:16:22 -06:00
2023-11-26 22:23:28 -07:00
2026-01-06 20:26:59 -05:00
2026-03-06 01:46:53 +02:00
2023-11-26 22:23:28 -07:00
2023-11-26 22:23:28 -07:00
…
2023-11-26 22:23:28 -07:00
…
2023-11-26 22:23:28 -07:00
2025-11-28 16:19:53 +01:00
…
2026-05-10 17:53:20 +03:00
2023-11-26 22:23:28 -07:00
…
…
…
2023-08-16 11:54:23 -06:00
…