[PATCH] D142867: [Clang] Add machinery to catch overflow in unary minus outside of a constant expression context

Shafik Yaghmour via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 6 20:53:14 PST 2023


shafik added a comment.

In D142867#4108079 <https://reviews.llvm.org/D142867#4108079>, @eaeltsin wrote:

> The warning now fires even if overflow is prevented with `if constexpr`:
>
>   if constexpr (width <= 64) {
>     if constexpr (width == 64) {
>       return 1;
>     }
>     return -static_cast<int64_t>(uint64_t{1} << (width - 1));
>   }
>
> https://godbolt.org/z/M3xdcKd3M

I believe this is due to issue: https://github.com/llvm/llvm-project/issues/59448


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142867/new/

https://reviews.llvm.org/D142867



More information about the cfe-commits mailing list