Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5 |
|
#
b6628c24 |
| 22-Apr-2024 |
Sirraide <aeternalmail@gmail.com> |
[Clang] Fix crash on invalid size in user-defined `static_assert` message (#89420)
This addresses two problems observed in #89407 wrt user-defined
`static_assert` messages:
1. In `Expr::Evaluate
[Clang] Fix crash on invalid size in user-defined `static_assert` message (#89420)
This addresses two problems observed in #89407 wrt user-defined
`static_assert` messages:
1. In `Expr::EvaluateCharRangeAsString`, we were calling `getExtValue()`
instead of `getZExtValue()`, which would assert if a negative or very
large number was returned from `size()`.
2. If the value could not be converted to `std::size_t`, attempting to
diagnose that would crash because `ext_cce_narrowing` was missing two
`%select` cases.
This fixes #89407.
show more ...
|
Revision tags: llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6 |
|
#
fdefe88b |
| 28-Nov-2023 |
cor3ntin <corentinjabot@gmail.com> |
[Clang] Improve support for expression messages in `static_assert` (#73234)
- Support non-member functions and callable objects for size and data(). We previously tried to (badly) pick the best over
[Clang] Improve support for expression messages in `static_assert` (#73234)
- Support non-member functions and callable objects for size and data(). We previously tried to (badly) pick the best overload ourselves, in a way that would only support member functions. We now leave clang construct an unresolved member expression and call that, properly performing overload resolution with callable objects and static functions, consistent with the logic for `get` calls for structured bindings. - Support UDLs as message expression. - Add tests and mark CWG2798 as resolved
show more ...
|
Revision tags: llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3 |
|
#
2176c5e5 |
| 04-Oct-2023 |
Takuya Shimizu <shimizu2486@gmail.com> |
[Clang][Sema] Fix display of characters on static assertion failure
This patch fixes the display of characters appearing in LHS or RHS of == expression in notes to static assertion failure. This app
[Clang][Sema] Fix display of characters on static assertion failure
This patch fixes the display of characters appearing in LHS or RHS of == expression in notes to static assertion failure. This applies C-style escape if the printed character is a special character. This also adds a numerical value displayed next to the character representation. This also tries to print multi-byte characters if the user-provided expression is multi-byte char type.
Reviewed By: cor3ntin Differential Revision: https://reviews.llvm.org/D155610
show more ...
|
Revision tags: llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2 |
|
#
4d494e76 |
| 29-Jul-2023 |
Corentin Jabot <corentinjabot@gmail.com> |
[Clang] Handle static_assert messages with an expression started by a literal
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D156597
|
Revision tags: llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
9265f7c4 |
| 20-Jul-2023 |
Corentin Jabot <corentinjabot@gmail.com> |
[Clang] Fix failing test caused by non-portable diag message
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4 |
|
#
47ccfd7a |
| 01-Nov-2022 |
Corentin Jabot <corentinjabot@gmail.com> |
[Clang] Implement P2741R3 - user-generated static_assert messages
Reviewed By: #clang-language-wg, aaron.ballman
Differential Revision: https://reviews.llvm.org/D154290
|