[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